Course

Linux Systems Programming | LINX.X408


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.

Learning Outcomes:
At the conclusion of the course, you should be able to:

  • Design and demonstrate implementation of standard LINUX utilities (e.g. ls, wc, cat)
  • Explain programming interfaces and topics on I/O control, file systems, access and locking
  • Describe the use of signal handling interfaces
  • Describe Process and threads management
  • Describe IPC using pipes and TCP/UDP sockets
  • Discuss makefiles, man pages and rpm/apt packaging utilities

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 partition or separate drive.

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

Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860

Prerequisite(s):

Sections Open for Enrollment:

Open Sections and Schedule
Start / End Date Units Meeting Type Cost Instructor
06-22-2021 to 08-31-2021 3.0 Live-Online $750

Raghav Vinjamuri

Enroll

Schedule

Date: Start Time: End Time: Meeting Type: Location:
Tue, 06-22-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 06-29-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 07-06-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 07-13-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 07-20-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 07-27-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 08-03-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 08-10-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 08-17-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 08-24-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE
Tue, 08-31-2021 6:30 p.m. 9:30 p.m. Live-Online ONLINE