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.
Prerequisite(s):
Sections Open for Enrollment:
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 |