Winter 2023
Stanford University
This is an advanced level course delving into in-depth topics in operating systems. The course revolves around the study of classical and recent research papers, with focuses on virtual memory management, synchronization and communication, file systems, and OS security among others. Its intent is to promote active discussions and deep comprehension of the material.
Students will study advanced operating system topics and be exposed to recent developments in operating systems research. This course involves readings and lectures on classic and new papers. Topics include virtual memory management, synchronization and communication, file systems, protection and security, operating system structure and extension techniques, fault tolerance, and history and experience of systems programming.
The prerequisite for this class is CS140 or the equivalent. It is necessary to have this background before taking the class as we’ll read a lot papers quickly without much time for catching up on the basics. The course assumes an understanding of topics in operating systems such as synchronization, virtual memory management, scheduling, and file systems.
This course makes no attempt to cover all the interesting topics in operating systems. Instead, we will cover a few topics in depth.
The course is divided into the following general topic areas.
There is no textbook for this course. The course is based on a collection of journal and conference papers that describe the history and state of the art in operating systems. Lectures will be live Tuesday and Thursday, 3:15-4:45 PM in Huang 18. They will also be recorded and available on Canvas.
You are required to read the papers listed in each class slot before lecture. The papers are subject to change, and information about the labs will be added later in the quarter.
The course consists of prerecorded lectures, readings, reading questions, and two exams, and at least two labs. There is a also a discussion section/office hours during the normal class period. It is optional but you are encouraged to come and discuss the papers. The two most important things to know about the class: (1) the main goal is to have interesting discussions (either in discussion section or on google groups) and (2) we recommend you read each paper at least two times: once very carefully, then once more, focusing on the hard parts. For any artifact the paper describes you should draw a picture. This should all be done more than a day in advance so that it sinks in.
Most of the work in this course consists of reading journal and conference papers. We will cover one paper for each class meeting. This class will be primarily discussion based rather than organized around lectures. Active discussion will (hopefully) give you a non-trivial understanding of the material. The only way this approach can work is if you read the papers carefully. Class time will not be used to rehash the material in the papers. Instead, it will be used to highlight the important points and discuss some of the more interesting features. There will be as much as 10 to 15 hours of reading per week. Do not take this course unless you are willing and able to do a lot of reading.
Reading list available at Reading List
No videos available
Practice quiz and solutions available at Reading List
No other materials available
No data