CSE 60641: Graduate Operating Systems
Course Overview
This is a graduate course in the theory and practice of operating system design and implementation. We will examine and discuss a wide variety of technical concepts found in operating systems both current and historical. Topics will include storage and file systems, concurrency, memory management, virtualization, scheduling, and distributed operating systems. With each topic, we will study foundational work, established advanced topics, and recent research. The medium of the course will be the academic paper. The paper is the primary method of communicating new results in science and engineering. A secondary focus of the course will be gaining experience in carefully absorbing this sometimes difficult literary form. Students will be expected to engage in discussion and presentation of assigned reading in the class period.
In parallel with the readings, students will undertake a course project from a list of available projects as prescribed by the instructor. Each project must be a highly literate undertaking. A significant amount of time will be spent of developing and revising the ideas to be explored. The final paper will be a highly polished result within “striking distance” of submission to an academic conference. To encourage a process of continuous refinement, the course will include a series of milestones: a concept slide, an annotated bibliography, a project proposal, a progress presentation, a draft paper, a final presentation, and a final paper.
Course Outcomes
Students successfully completing this course will be able to:
Describe and evaluate advanced concepts in operating system design and implementation
Presented in course reading, evaluated in exams, presentations, and projects
Compare and contrast competing architectures and implementations of operating system components
Presented in class discussions, evaluated in exams, presentations, and projects
Describe important historical developments in operating systems in terms of architectural philosophies, influential personalities, and well-known systems
Presented in class discussions, evaluated in exams, presentations, and projects.
Design and perform a small piece of operating systems research with some guidance
Presented, practiced, and evaluated in each of the project milestones
Effectively communicate research results orally and in writing
Presented in readings and class discussions, practiced and evaluated in progress report, final presentation, draft paper, and final paper.
Selective Readings