Skip to main content

System Programming (4cr)

Course unit code: TT00BB57

General information


Credits
4 cr

Objective

Students will acquire competence in Linux architecture, the Linux kernel structure, and the implementation of powerful applications in the C language. After completing the course, the students will also have mastered the design and implementation of applications in the multitasking system.

Content

The course focuses on programming in the Linux / POSIX environment using ANSI C. Particular emphasis is placed on system calls, process control, threading and inter-process communication required by the Linux / Posix system. Various I/O technologies, standard C-library I/O functions and Unix/ inux system calls are also studied in detail.
The course also includes Linux device driver programming, where a Linux device model and its use as well as memory mapped I/O (MMIO) and direct memory access (DMA) are examined. In addition, the programming of PCI, I2C, Serial, 1-Wire, USB, hard disk, network and tty device drivers and their special features are covered.
In the Linux kernel module, a simple LKM (Loadable kernel module) is translated and installed. In addition, the course covers Linux kernel architecture and how to handle concurrency and race condition situations. Further learning includes how to deal with delays and timers in the kernel, memory sharing and dealing with different types of interruptions, communicating with hardware, and handling basic data types in the kernel.
The course includes a wealth of supervised exercises and a work book with scored tasks.

Assessment criteria, excellent (5)

The course is evaluated based on the points for work book exercises.
Grade 5 requires over 90% of the maximum number of points.

Assessment criteria, good (3)

The course is evaluated based on the points for work book exercises.
Grade 3-4 requires 70-90%of the maximum number of points.

Assessment criteria, satisfactory (1)

The course is evaluated based on the points for work book exercises.
Grade 1-2 requires 40-70% of the maximum number of points.

Further information

The course material is in English. The course includes independent exercises.
2 RDI credits

Go back to top of page