EECS 4520 - Advanced Systems Programming Course Syllabus
Credits/Contact Hours
4 credit hours & 220 minutes lecture contact hours per week.
Textbook
Richard Stevens and Stephen A. Rago, “Advanced Programming in the UNIX® Environment (3rd Edition)”, Addison-Wesley, ISBN-13 978-0321637734
Course Information
Pertinent concepts of systems programming. Topics covered include: synchronization,
distributed programming models, kernel design, peripheral handling, file systems and
security history and methods.
Prerequisite: EECS 3540: Systems and Systems Programming
Elective or Required Course: Elective.
Specific Goals - Student Learning Objectives (SLOs)
- Use low level system calls to control program flow, Input/Output, and determine system characteristics.
- Evaluate the tradeoffs between low level system calls and the equivalent standard calls.
- Understand the difficulties in providing a uniform interface to system facilities in disparate operating systems.
- Read and understand a specification for a network service.
Specific Goals –
EAC Crit. 3 Outcomes
Specific Goals –
CAC Crit. 3 Outcomes
Topics
- Standards and Conventions (POSIX, SUSE, etc.)
- File Systems and Calls – examine iostreams, C Standard I/O Library, and low level calls.
- Processes – initialization, control and status.
- Signals and signal handling, asynchronous I/O
- Networking applications and IPC
- MPI
- Flex, Bison, and parsing
- Process relationships and daemons