Spring 2020
Stanford University
This course provides an in-depth understanding of the basic facilities provided by modern operating systems. It's structured into three major sections: concurrency, memory management, and file systems, followed by some smaller topics like virtual machines. The class includes one problem set and four programming projects based on the Pintos kernel, requiring a significant commitment of time.
This class introduces the basic facilities provided by modern operating systems. The course divides into three major sections. The first part of the course discusses concurrency: how to manage multiple tasks that execute at the same time and share resources. Topics in this section include processes and threads, context switching, synchronization, scheduling, and deadlock. The second part of the course addresses the problem of memory management; it will cover topics such as linking, dynamic memory allocation, dynamic address translation, virtual memory, and demand paging. The third major part of the course concerns file systems, including topics such as storage devices, disk management and scheduling, directories, protection, and crash recovery. After these three major topics, the class will conclude with a few smaller topics such as virtual machines.
The class work consists of one problem set and a series of four programming projects based on the Pintos kernel. You will learn a lot from these projects, but be prepared to spend a significant amount of time working on them.
No data.
No data.
There is no required textbook for this class: the material of the course is defined by the lectures and does not exactly correspond to any existing book. However, I recommend the following book if you would like an additional source of material to supplement lectures:
Each page of lecture notes lists related readings in this book at the front of the notes page. Most students find that the material from lecture is sufficient for their course needs, so I recommend that you start the course without the book and only purchase the book if you are having difficulties understanding the lectures.
Lecture slides and notes available at Lecture Schedule
No videos available
Projects available at Projects
No other materials available