This schedule is subject to change depending on how the course progresses. All lecture slides, programming assignments, and scribe notes will be posted on Angel.

Office Hours: Thursdays 4:30-6:30pm, 338D IST

We will use the following book: Operating System Concepts, 8th ed., Silberschatz, Galvin, Gagne.

Lecture Date Topic Sub-topic Reading Material Scribes Announcement and /or Deadline To-Do (e.g., Supplemental Reading)
1. 01/10 Introduction and Overview Administration, Scope and Focus; OS: What and Why? Bhuvan Urgaonkar
2. 01/12 Recap of Basics OS: What and Why; Basics of Computer Architecture, Software/Hardware Interaction Bhuvan Urgaonkar P1 released
3. 01/19 Recap of Basics Basics of Computer Architecture, Software/Hardware Interaction; Address Space 3.1 James Ajhar and Motheeb Alkhashram
4. 01/24 CPU Management Context Switching 3.2-3.3 Taylor Balch and Seth Bauman P1 due; P2 release date
5. 01/26 Process States; CPU Scheduling 5.1-5.3 Jonathan Benkovic and William Boone
6. 01/31 CPU Scheduling (2) 5.1-5.3 Derek Cerullo and Anusha Chandrashekhar
7. 02/02 Threads 4.1-4.4 Joseph Chen and Ke Wei Chen Practice Problem Set 1; 3.6.3 (pipes); 4.4.3 (signals)
8. 02/07 User-level Threads 4.1-4.4 Christopher Cluskey
9. 02/09 User-level Threads (2) 4.1-4.4 Jun Dai and William Devlin
10. 02/14 CPU Scheduling (3); Wrap-up 5.1-5.3 Tyler Dippel and Jonathan Frank Practice Problem Set 2
11. 02/16 Process Synchronization: The Mutual Exclusion Problem; Locks: Usage, Implementation 6.1-6.4 Samuel Goldberg and Patrick Henry
12. 02/21 Locks: Implementation, Usage (2) 6.1-6.4 Soohoon Lee and Quintin Lemon
13. 02/23 Locks: Usage, Limitations (3); Condition Variables 6.1-6.4 Tiffany Lun and Andrew Magargle P2 due; P3 release date
14. 02/28 Semaphores; Important Synchronization Problems 6.6 Phu Nguyen and Tyler Purdom Practice Problem Set 3; Work through problems in "The Little Book of Semaphores"
15. 03/01 Synchronization Practice Douglas Pursel and Matthew Rockar Work through problems in "The Little Book of Semaphores"
16. 03/13 Deadlocks 7 Ryan Stainken and Kevin Stewart
17. 03/15 Synchronization and Mid-sem Practice Xiaoyan Sun and Samantha Todd
03/19 mid - semester exam
18. 03/20 Discussion of Mid-sem exam Nicholas Courtney and Carl Dell
19. 03/22 Memory Management Background; MMU; Contiguous Allocation; Fragmentation 8.1-8.6 Kyle Donnelly and Farshid Farhat and Diman Tootaghaj 03/23: P3 due; 03/26: P4 release date
20. 03/27 Paging 9.1-9.4 Khouri Howard and Cameron Jones
21. 03/29 Paging; malloc Implementation 9.5-9.8 David Kahn and Almas Kairatuly
22. 04/03 Page Table Implementation 9.5-9.8 Zachery Kampmann and Aditya Kurve
23. 04/05 Swapping/Demand Paging; Page Fault Handling Patrick Mcenroe
24. 04/10 Page Replacement Cole Potrocky and Gregory Proulx
25. 04/12 LRU Implementation Details; Working Set; Kernel Memory Allocation Andrew Saturno and Dana Schwanke P4 due; P5 release date
26. 04/17 IO management General Concepts Andrew Tamm and John Toniolo
27. 04/19 Basics of Magnetic Disk Drives; Salient Aspects of Flash Solid-State Drives; Disk Scheduling no scribe
28. 04/24 Basics of File Systems Saul Wecht Practice Problem Sets 4 and 5
29. 04/26 Putting It All Together; Conclusion OS Bootup; Process Creation and Loading; What We Didn't/Couldn't Cover (Topics to Explore on Your Own); Tips for Final Exam no scribe P5 due on 04/29