This course introduces the participants to system level programming in the C language in a Linux environment. The course focuses on Linux system calls and library functions, how to use them, and their underlying mechanisms. The course deals with many facets of the Linux operating system, including: introduction to Linux kernel structure, I/O, Signals, Signal handlers, Timers, Processes, Multi-Tasking, Inter-Process Communication (IPC) Pipes, Shared memory, Message Queues, Semaphores, Networking, Sockets, using TCP/IP and UDP/IP. Throughout the course the information presented is related to the participant through: the execution of common Linux user/administrator commands, and writing, compiling, and executing example C language programs which demonstrate the use of system routines and accessing system data structures on a live Linux system. This course is the equivalent of Red Hat course 251.
It is assumed that the participant has a solid background in basic Linux utilities and editors (such as vim), and a working knowledge of the C (or C++) programming language(s).
5 Days/Lecture & Lab
This course is for those wanting to learn system level programming in the C language in a Linux environment.
System Programming Environment of Linux
- File Systems
- Process Creation and Control
- Synchronization and System Information
- Interprocess Data Communication Facilities
- Sharing Code between Processes