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