Syllabus

Catalog Description

This graduate-level course examines recent developments in operating systems. It also covers mobile platforms, virtualization, security, and selected topics.

Instructor

  • Name: Heng Yin
  • Email: heng AT cs DOT ucr DOT edu
  • Office: Winston Chung Hall 316
  • Office hours: Tue/Wed 1:30PM-3PM
  • Location and Time: MSE 003, Mon/Wed/Fri 4:10PM-5:00PM

Textbooks

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

Communication

We will use iLearn for assignments and grading, and piazza for announcement, discussions and help.

Paper Reading and Critiques

Before each class, students need to check the schedule and read required papers (and are also encouraged to read the optional materials as well), and write a critique for the one marked as Critique.

Lab Assignments

There will be two project assignments based on XV6.

Exams

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

Project

Up to 3 students can form a group and pick a project topic, conduct research under this topic, make a presentation, and write a final report.

Grading

  • Class attendance and participation: 10%
  • Paper critiques: 10%
  • Lab assignments: 25%
  • Written exams: 35%
  • Project: 20%

Policy for Late Submissions

Late submissions within 24 hours will be graded with 20% penalty. Late submissions beyond 24 hours will not be graded. Exceptions may only be granted case by case with evidence presented.

Schedule

Date Topics Lecture Notes Reading
04/02 Syllabus and Overview lec1.pdf
04/04 Review & Historic evolution lec2.pdf Optional: Unix, Atlas, CCTS, THE, Multics
04/06 Extensibilty and Implications lec3.pdf Spin (Critique), Required: Exokernel; Optional: Mach
04/09 Extensibility lec4.pdf Required: L3/L4, Optional:L3 to seL4
04/11 Intro to xv6
04/13 Scheduling/Resource Allocation lec5.pdf Lottery scheduler (critique)
04/16 Scheduling/Resource Allocation lec6.pdf Stride scheduler (Required)
04/18 Scheduling lec7.pdf Activations (Critique)
04/20 Concurrency and Synchronization lec8.pdf Locks (Barriers optional; i.e., skip section 3 and section 4.4),, Recommended: Little book of semaphores, Memory consistency models, (optional)
04/23 Concurrency and Synchronization lec9.pdf Linux discussion of memory barriers (Optional)
04/25 Concurrency and Synchronization lec10.pdf RCU(Critique)
04/27 Concurrency and Synchronization No Class Continue on RCU; Hardware transactional memory
04/30 Multicore OS Conference Travel Barrelfish(Critique), Optional: DISCO, Corey
05/02 Midterm
05/04 Multicore OS HTM.pdf, lec11.pdf Required: Linux scalability, Recommended: Decade of wasted cores
05/07 Multicore OS lec12.pdf
05/09 Midterm Review & File Systems Required: FFS
05/11 File Systems lec13.pdf Critique: LFS;
05/14 Project Proposal Presentation
05/16 File Systems
05/18 Distributed File Systems lec14.pdf Required: NFS
05/21 Distributed File Systems Critique: AFS
05/23 Big Data File Systems lec15.pdf Required: HDFS
05/25 Big Data File Systems lec16.pdf Critique: GFS
05/28 Holiday
05/30 Virtualization lec17.pdf
06/01 Virtualization lec18.pdf Critique: Turtles
06/04 Virtualization lec19.pdf Required: Cloudvisor
06/06 Review
06/08 Final Exam
06/12 Final Project Presentation 7-10PM