Linux Systems Programming

System calls are functions called from within a C program, which provide access to the lowest level resources of the OS. Topics on Systems Programming covered in this class will enable a C programmer to understand and implement standard utilities (e.g. ls, wc, cat). It includes conceptual background, functional interfaces and topics on I/O control, file systems, access, and locking; signal handling; process and threads management; IPC using pipes and TCP/UDP sockets; and related discussions on makefiles, man pages and rpm packaging utilities.

This course covers developing a complete ftp package, including client-side interface and the server-side components. The course materials include examples showing the use of all system calls introduced in the course, as well as complete client-server programs using TCP, UDP and RPC. This course is based on the POSIX standard, however, portability considerations for BSD extensions and SVR4 differences are discussed throughout.


Note(s): To practice, students are expected to install or have access to Linux Operating System version 7, or higher (version 9 is preferred) on their home computers. Options include VMWare, VirtualBox, LiveCD, disk paritition or separate drive.



Skills Needed: A basic knowledge of C language programming and a working knowledge of the Linux/UNIX operating environment are required.

Linux Systems Programming


Section Start Date Time Location Cost Instructor Name Full Schedule Enroll
LINX.X408.(1) 9/27/2017 06:30 PM SANTA CLARA $ 735.00 Raghav Vinjamuri View Enroll
LINX.X408.(2) 1/10/2018 06:30 PM SANTA CLARA $ 735.00 Raghav Vinjamuri View Enroll