601.418/618 (S25): 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 22 Course intro Chapter 1, Chapter 2  
Jan 27 OS architectural support Chapter 6  
Jan 29 Processes Chapter 4, Chapter 5  
Feb 3 Threads Chapter 26, Chapter 27 A0 due
Feb 5 Scheduling Chapter 7, Chapter 8  
Feb 10 Synchronization Chapter 28, Chapter 29  
Feb 12 Semaphores and Monitors Chapter 30, Chapter 31  
Feb 17 Synchronization exercises    
Feb 19 Deadlock Chapter 32 A1 due
Feb 24 Virtual memory 1 Chapter 15, Chapter 16,
Chapter 17
 
Feb 26 Slack day/exam review    
Mar 3 Exam 1, in class    
Mar 5 Virtual memory in Pintos    
Mar 10 Virtual memory II Chapter 19, Chapter 20  
Mar 12 Page replacement Chapter 21, Chapter 22,
Chapter 23
A2 soft deadline
Fri 3/14
Mar 17–21 Spring break, no classes    
Mar 24 Dynamic memory allocation Chapter 14, Chapter 17 A2 hard deadline
Mar 26 IO and disks Chapter 36, Chapter 37  
Mar 31 File systems Chapter 39  
Apr 2 File systems implementation Chapter 40  
Apr 7 Slack day/exam review    
Apr 9 Exam 2, in class    
Apr 14 Unix Fast File System Chapter 41, FFS paper  
Apr 16 Log structured filesystems Chapter 43, LFS paper  
Apr 21 fsck and journaling Chapter 42  
Apr 23 Virtual machines Appendix B  
Apr 28 Slack day/exam review    
May 13 Exam 3, At 2 pm, location TBD