CPS 210: Operating Systems | |||||||
|
|||||||
CPS 210 is the entry course in computer systems for graduate students and advanced undergraduates. Traditionally the course emphasizes classical operating systems topics: concurrency, facilities for storage, communication, and protection, kernel services and structure, architecture/OS interaction, distributed systems, and practical application of operating system concepts in real operating systems. We also explore the nature of "systems" as an evolving research discipline encompassing all aspects of bridging the gap between applications and hardware. To this end we will study selected research papers, focusing on research goals and methodologies.
More broadly, an operating system is software that controls some programmable platform for sharing resources and data. All operating systems must deal with core issues of protection, resource management, program environment and execution, coordination, and reliable state storage and recovery. This semester the course will focus more broadly on examples of operating systems beyond the classical model. We will use the new Saltzer and Kaashoek text Principles of Computer Systems Design (PCSD) as a core text.
The course material is broken into core topics, advanced topics, and research topics.
Core topics are typical material for a high-end undergraduate operating systems course, along with some crucial topics in distributed systems and networking. Quals passes are based largely on mastery of the core topics. These include a study of canonical system examples that introduce fundamental principles. Examples include:
Advanced topics build on the core topics in some direct way, e.g., recent technology advances, new challenges brought about by changing technology, classic systems research papers, or more detailed studies of real-world examples. Some presentation of core topics in the class will occur as a "side effect" of discussion of advanced topics.
Research topics are current areas of active research. Most presentation of research topics will take the form of seminar-style discussions of recent research papers, typically using the author's slides.
The principles and lessons from the advanced topics and research topics may be tested, but I do not expect you to master every detail.