Course Number & Title
CS U680Topics in Operating Systems (4 SH)
Course Description
Studies advanced concepts underlying computer operating systems and
computer networks. Examines in depth all major operating system and
network components including: device drivers, network protocol stacks,
memory managers, centralized and distributed file systems,
inter-process communication mechanisms, real-time schedulers and
security mechanisms. Additional components will be covered as time
allows. Provides hands-on experience with the source code of
commercial-grade operating systems and networks.
Prerequisites
CS U480.
Textbooks
Texts are chosen at the instructor's discretion to support the topics
to be covered. Representative texts are
"Distributed Systems, Principles and Paradigms",
Andrew Tanenbaum and Maarten van Steen,
Prentice-Hall, 2002.
"Computer Networks", Fourth edition,
Andrew S. Tanenbaum,
Prentice-Hall, 2003
"Linux Device Drivers", Second Edition,
Alessandro Rubini and Jonathan Corbet,
O'Reilly & Associates, 2001.
Topics Covered
Although the course dives deeply into its topics, the choice of
topics is left to the instructor. Typical topics are
Multiprocessor Systems
For example, Linux clusters
Device Drivers
For example, device drivers for Linux
Networking and Distributed Systems
For example, programing with sockets
Abstract machines
For example, Microsoft's Common Language Runtime
Course Outcomes
Upon completion of this course, a student should:
Have a solid understanding of two or three areas of system design.
Be able to write modest systems programs given standard documentation.
Measurement of Course Outcomes
The course outcomes will be measured and verified by:
Weekly programming assignments and/or programming projects.
Midterm and Final exams.