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Ìý