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.

Relation to Integrated Learning Models (ILM)

Relation to Curriculum 2001 (Optional Section)