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 |