601.418/618 (S26): Schedule

This page lists topics, readings, and has links to lecture slides. It also lists assignment due dates. Items in gray italic are tentative.

This schedule could change! Changes to the schedule will be announced in class and/or on Courselore.

Readings are from Operating Systems: Three Easy Pieces. This is an open-source textbook, and you can use the links below to access the chapters directly.

Important: do the reading before you come to class.

The links to slides are provided for reference. In general, there is no guarantee that they will be posted before class, or that their content will not change.

Acknowledgment: The course schedule and structure is based on Ryan Huang’s version of the course.

Date      Topic/Slides Reading Assignment
Jan 21 Course intro Chapter 1, Chapter 2  
Jan 26 OS architectural support Chapter 6  
Jan 28 Processes Chapter 4, Chapter 5  
Feb 2 Threads Chapter 26, Chapter 27 A0 due
Feb 4 Scheduling Chapter 7, Chapter 8  
Feb 9 Synchronization Chapter 28, Chapter 29  
Feb 11 Semaphores and Monitors Chapter 30, Chapter 31  
Feb 16 Synchronization exercises    
Feb 18 Deadlock Chapter 32 A1 due
Feb 23 Virtual memory 1 Chapter 15, Chapter 16,
Chapter 17
 
Feb 25 Slack day/exam review    
Mar 2 Exam 1, in class    
Mar 4 Virtual memory in Pintos    
Mar 9 Virtual memory II Chapter 19, Chapter 20  
Mar 11 Page replacement Chapter 21, Chapter 22,
Chapter 23
A2 soft deadline
Fri 3/14
Mar 16–20 Spring break, no classes    
Mar 23 Dynamic memory allocation Chapter 14, Chapter 17 A2 hard deadline
Mar 25 IO and disks Chapter 36, Chapter 37  
Mar 30 File systems Chapter 39  
Apr 1 File systems implementation Chapter 40  
Apr 6 Slack day/exam review    
Apr 8 Exam 2, in class   A3a due
Fri 4/11
Apr 13 Unix Fast File System Chapter 41, FFS paper  
Apr 15 Log structured filesystems Chapter 43, LFS paper  
Apr 20 fsck and journaling Chapter 42  
Apr 22 Virtual machines Appendix B  
Apr 27 Slack day/exam review    
May 11 Exam 3, At 6 pm, Hodson 210