Schedule¶
The schedule may change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, email to the course instructor.
| Monday | Tuesday | Wednesday | Thursday | Friday |
| Jan 23 LEC 1: Introduction and overview Class begins |
Jan 24 | Jan 25 LEC 2: Review of undergrad OS basics |
Jan 26 | Jan 27 |
| Jan 30 LEC 3: OS Design: Paper 1: "Exokernel: An Operating System Architecture for Application-Level Resource Management" Engler et al. SOSP 1995. |
Jan 31 | Feb 1 LEC 4: OS Design: Paper 2: "The multikernel: a new OS architecture for scalable multicore systems" Baumann et al. SOSP 2009. |
Feb 2 | Feb 3 |
| Feb 6 LEC 5: System call: Paper 3: "FlexSC: Flexible System Call Scheduling with Exception-Less System Calls" Soares and Stumm. OSDI 2010. |
Feb 7 | Feb 8 LEC 6: Scheduler: Paper 4: "The Battle of the Schedulers: FreeBSD ULE vs. Linux CFS" Bouron et al. ATC 2018. |
Feb 9 | Feb 10 |
| Feb 13 LEC 7: Scheduler (cont). No paper due. |
Feb 14 | Feb 15 LEC 8: Concurrency: Paper 5: "Everything You Always Wanted to Know About Synchronization but Were Afraid to Ask" David et al. SOSP 2013. |
Feb 16 | Feb 17 |
| Feb 20 No Class |
Feb 21 | Feb 22 LEC 9: Concurrency: Paper 6: "FastTrack: Efficient and Precise Dynamic Race Detection" Flanagan and Freund. PLDI 2009. |
Feb 23 | Feb 24 |
| Feb 27 LEC 10: Concurrency: Paper 7: "Shared Memory Consistency Models: A Tutorial" Adve and Gharachorloo. IEEE Computer 1996. |
Feb 28 | Mar 1 LEC 11: Concurrency: Paper 8: "Using Read-Copy-Update Techniques for System V IPC in the Linux 2.5 Kernel" Arcangeli et al. ATC 2013. |
Mar 2 | Mar 3 |
| Mar 6 LEC 12: Concurrency (cont). No paper due. |
Mar 7 | Mar 8 Midterm exam |
Mar 9 | Mar 10 |
| Mar 13 Spring Recess |
Mar 14 Spring Recess |
Mar 15 Spring Recess |
Mar 16 Spring Recess |
Mar 17 Spring Recess |
| Mar 20 LEC 13: Memory: Paper 9: "Practical, transparent operating system support for superpages" Navarro et al. OSDI 2002. |
Mar 21 | Mar 22 LEC 14: Memory: Paper 10: "Hoard: A Scalable Memory Allocator for Multithreaded Applications" Berger et al. ASPLOS 2000. |
Mar 23 | Mar 24 |
| Mar 27 LEC 15: Memory (cont). No paper due. |
Mar 28 | Mar 29 LEC 16: Memory: Paper 11: "Durinn: Adversarial Memory and Thread Interleaving for Detecting Durable Linearizability Bugs" Fu et al. OSDI 2022. |
Mar 30 | Mar 31 |
| Apr 3 LEC 17: File Systems: Paper 12: "Design and Implementation of SUN NFS" Sandburg et al. USENIX conference 1985. |
Apr 4 | Apr 5 LEC 18: File Systems: Paper 13: "Speculative Execution in a Distributed File System" Nightingale et al. SOSP 2015. |
Apr 6 | Apr 7 |
| Apr 10 LEC 19: Virtualization: Paper 14: "Memory Resource Management in VMware ESX Server" Waldspurger. OSDI 2002. |
Apr 11 | Apr 12 LEC 20: Virtualization: Paper 15: "A Comparison of Software and Hardware Techniques for x86 Virtualization" Adams and Agesen. ASPLOS 2006. |
Apr 13 | Apr 14 |
| Apr 17 LEC 21: Virtualization: Paper 16: "Virtualizing I/O Devices on VMware Workstation’s Hosted Virtual Machine Monitor" Sugerman et al. ATC 2001. |
Apr 18 | Apr 19 LEC 22: Virtualization (cont.) No paper due. |
Apr 20 | Apr 21 |
| Apr 24 LEC 23: Virtualization: Paper 17: "Xen and the Art of Virtualization" Barham et al. SOSP 2003. |
Apr 25 | Apr 26 LEC 24: Testing: Paper 18: KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs Cadar et al. OSDI 2009. |
Apr 27 | Apr 28 |
| May 1 LEC 25: Testing: Paper 19: "kAFL: Hardware-Assisted Feedback Fuzzing for OS Kernels" Schumilo et al. USENIX Security 2017 |
May 2 | May 3 LEC 26: Testing: Paper 20: "DeepXplore: Automated Whitebox Testing of Deep Learning Systems" Pei et al. SOSP 2017. Class ends |
May 4 | May 5 DUE: Project final report |
| May 8 | May 9 | May 10 | May 11 | May 12 |
| May 15 | May 16 | May 17 Final exam (8:30 AM - 10:00 AM) |
May 18 | May 19 |