CS 202: Advanced Operating Systems (Fall 2024)

Catalog Description

This graduate-level course examines recent developments in operating systems. Also covers multiprogramming, parallel programming, time sharing, scheduling and resource allocation, and selected topics.

Instructor

  • Name: Heng Yin
  • Email: heng AT cs DOT ucr DOT edu
  • Office: Winston Chung Hall 316
  • Office hours: Monday 10:30-12:00, Wednesday 14:00-15:30
  • Location: Olmsted 1208
  • Time: M/W/F 1:00PM-1:50PM

Textbooks

For undergraduate material, please refer to: Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

Communication

We will use eLearn for announcements, assignments and grading, and Slack for discussions and help.

Paper Reading and Critiques

Before each class, students need to check the schedule and read required paper, and write a critique.

Lab Assignments

There will be 3 project assignments based on XV6. More details about the assignments can be found here.

Exams

A midterm and a final exam are given to assess students' understanding of the papers and concepts discussed in the class.

Grading

  • Class attendance and participation: 10%
  • Paper critiques: 10%
  • Lab assignments: 40%
  • Midterm: 10%
  • Final: 30%

Policy for Late Submissions

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.

Schedule

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