This graduate-level course examines recent developments in operating systems. Also covers multiprogramming, parallel programming, time sharing, scheduling and resource allocation, and selected topics.
For undergraduate material, please refer to: Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
We will use eLearn for announcements, assignments and grading, and Slack for discussions and help.
Before each class, students need to check the schedule and read required paper, and write a critique.
There will be 3 project assignments based on XV6. More details about the assignments can be found here.
A midterm and a final exam are given to assess students' understanding of the papers and concepts discussed in the class.
Late submissions for critiques are not permitted. For lab/project submissions, 10% penalty per day; up to 3 late days permitted. Exceptions may only be granted case by case with evidence presented.
Date | Topics | Notes | Assignments |
---|---|---|---|
09/27 | Syllabus and Overview | lec1.pdf | Reading: Ch02 |
09/30 | Historic evolution/OS Model | lec2.pdf | Reading: Ch06, Lab: Lab 1 |
10/02 | Process | lec3.pdf | Reading: Ch04, Ch05 |
10/04 | Thread | lec4.pdf | Reading: Ch26, Ch27, Ch28 |
10/07 | Virtual Memory | lec5.pdf | Reading: Ch13, Ch15, Ch18, |
10/09 | Virtual Memory | lec6.pdf | Reading: Ch19, Ch20, Ch21, Ch22 |
10/11 | Extensibility | lec7.pdf | Critique: Spin |
10/14 | Extensibility | lec8.pdf | Critique: Exokernel |
10/16 | Scheduling | lec9.pdf | Reading: Ch07, Ch08, Ch10 |
10/18 | Scheduling | lec10.pdf | Critique: Lottery Scheduling |
10/21 | Scheduling | lec11.pdf | Critique: Stride Scheduling, Lab: Lab 2 |
10/23 | Scheduling | lec12.pdf | Critique: Scheduler Activations |
10/25 | Concurrency and Synchronization | lec13.pdf | Reading: Ch28, Ch29, Ch31, Ch32 |
10/28 | Memory Consistency and Cache Coherence | lec14.pdf | |
10/30 | Midterm (Closed Book) | ||
11/01 | Concurrency and Synchronization | lec15.pdf | Critique: RCU |
11/04 | Multicore OS | lec16.pdf | Critique: Barrelfish |
11/06 | Multicore OS | lec17.pdf | Critique: Linux scalability |
11/08 | Post-Midterm Review | ||
11/11 | Holiday | Lab: lab 3 | |
11/13 | File Systems | lec18.pdf | Reading: Ch37, Ch39, Ch40, Ch41 |
11/15 | File Systems | Reading: Ch37, Ch39, Ch40, Ch41 | |
11/18 | File Systems | lec19.pdf | Critique: LFS |
11/20 | Distributed File Systems | lec20.pdf | Critique: NFS |
11/22 | Distributed File Systems | lec21.pdf | Critique: AFS; |
11/25 | Big Data File Systems | lec22.pdf | Critique: GFS |
11/27 | No Class | ||
11/29 | No Class | ||
12/02 | Cluster File Systems | lec23.pdf | Critique: Ceph |
12/04 | Review | ||
12/06 | Review |