The course Linux system programming teaches C programmers the advanced mechanisms of the Linux kernel. This course does not offer a monotonous list of available system calls and library functions, but especially covers the underlying concepts. In this LSP course we discuss subjects like process management (creation and transformation of processes), file access (the conventional way, but also the more advanced way via memory mapping) and directories, and all implementations of interprocess communication (pipes, signals, TCP/UDP sockets, POSIX IPC message queues/shared memory/semaphores).
Furthermore, we extensively discuss the way to develop multithreaded applications with help of the pthread library. This includes subjects like the life cycle of a thread (creation and termination), synchronisation techniques and the recognition of pit falls.
Course attendees receive the following documentation: