CSE 60641: Graduate Operating Systems

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. 

Students successfully completing this course will be able to: