Linux (Posix) Systems Programming - Course Syllabus
(This page uses style sheets.)
This Course is intended for programmers who wish to write programs which interface with the Linux kernel through the system call interface. Such programs may constitute a turnkey system where Linux is embedded.
- Introduction
- Facilities and Concepts
- Input and Output
- Low level I/O; read, write, open, close
- The standard I/O library
- File status and fcntl
- File locking; advisory and mandatory
- Standard I/P and O/P; getchar and putchar
- Devices and the ioctl call
- Streams
- Directories management
- Processes
- Description of a process, creation with fork
- Running programs with exec
- Command line arguments and environment variables
- Waiting for processes
- Altering process attributes
- Real and effective users
- Pipes
- Description, creation, use for process communication
- Pipes and the standard I/P and O/P, the dup system call, FIFO's
- Signals
- Normal usage, catching, use as a communications method
- The non- local goto, longjmp
- Enhanced signal mechanism of System V.3 and Posix
- System V IPC
- Message passing, Shared memory, Semaphores
Notes
- Participants receive copies of all slide material.
- A comprehensive list of exercises is provided along with worked solutions.
- The Course is regularly updated to include new material.
- Emphasis on different aspects will change according to the participants interests.
- The Course is geared towards Unix System V or POSIX.1 though most is applicable to other variants.
- A knowledge of programming in C and a basic knowledge of Unix are prerequisites to this course.
- The length of the Course is normally four days.