COVID-19 Update

All campus visitors must be fully vaccinated (boosted). Masks are highly recommended. Instructors & staff are required to submit a daily symptom check. COVID updates.

Linux Systems Programming | LINX.X408

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
FAQ
ENROLL EARLY!
This course is related to the following programs:

Prerequisite(s):

Sections Open for Enrollment:

Open Sections and Schedule
Start / End Date Units Cost Instructor
06-16-2022 to 08-25-2022 3.0 $750

Raghav Vinjamuri

Enroll

Schedule

Date: Start Time: End Time: Meeting Type: Location:
Thu, 06-16-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 06-23-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 06-30-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 07-07-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 07-14-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 07-21-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 07-28-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 08-04-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 08-11-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 08-18-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Thu, 08-25-2022 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE