Below is a TENTATIVE schedule. It can and will change as the weeks go on. You are welcome to read ahead, but doing so is speculative execution.
Topics | Reading (to be completed before class) |
Notes | ||
---|---|---|---|---|
Week 1 | ||||
Tue 09/02 | Introduction | |||
Thu 09/04 | Unix | read The UNIX Time-Sharing System and The Evolution of the Unix Time-Sharing System. |
Lab 1 released | |
Week 2 | ||||
Tue 09/09 | Virtual memory I | chapters 5 and 6 in 80386 | Lab 2 released | |
Thu 09/11 | Virtual memory II | read Virtual Memory Primitives for User Programs, Proc. ASPLOS 1991 | ||
Fri 09/12 | Lab 1 due, 11:59 PM | |||
Week 3 | ||||
Tue 09/16 | Virtualization I | read A comparison of software and hardware techniques for x86 virtualization, Proc. ASPLOS 2006 and skim Disco: Running Commodity Operating Systems on Scalable Multiprocessors, Proc. SOSP 1997 |
||
Wed 09/17 | Lab 2a due, 11:59 PM | Lab 3 released | ||
Thu 09/18 | Virtualization II | See Tuesday's reading. We will discuss Tuesday's reading in class. Advice on how to read a paper. |
||
Week 4 | ||||
Tue 09/23 | Virtualization III | read Virtual Memory Management in VMware ESX Server, Proc. OSDI 2002 | ||
Thu 09/25 | Class canceled | |||
Fri 09/26 | Lab 2b due, 11:59 PM | |||
Week 5 | ||||
Tue 09/30 | Kernel design I | read Improving IPC by kernel design, Proc. SOSP 1993 | ||
Thu 10/02 | Kernel design II | read Exokernel: An Operating System Architecture for Application-Level Resource Management, Proc. SOSP 1995 | Lab 4 released | |
Fri 10/03 | Lab 3a due, 9:00 PM | |||
Week 6 | ||||
Tue 10/07 | Kernel design III | Skim this paper, and read Section 4 in depth: Application Performance and Flexibility on Exokernel Systems, Proc. SOSP 1997 |
||
Thu 10/09 | Concurrency/multicore I | read Threads Cannot Be Implemented As a Library, Proc. PLDI 2005 background (not assigned): Memory Barriers: A Hardware View for Software Hackers, 2010 |
||
Fri 10/10 | Lab 3b due, 9:00 PM | |||
Week 7 | ||||
Tue 10/14 | No class (Fall Recess) | |||
Thu 10/16 | Concurrency/multicore II | read Read-Copy Update, Proc. Ottowa Linux Symposium 2001 read Abstraction, Reality Checks, and RCU, a talk by Paul E. McKenney at U. of Toronto Cider Seminar, 2005 skim Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming, Proc. Usenix ATC 2011 |
||
Fri 10/17 | Kernel design IV (make-up class 3:00-4:30 PM 719 Broadway, Room 1221) Lab 4a due, 9:00 PM |
read The Turtles Project: Design and Implementation of Nested Virtualization, Proc. OSDI 2010 | ||
Week 8 | ||||
Mon 10/20 | Lab 5 released | |||
Tue 10/21 | Concurrency/multicore III | read The scalable commutativity rule: designing scalable software for multicore processors, Proc. SOSP 2013 | ||
Thu 10/23 | Concurrency/multicore IV | read Efficient System-Enforced Deterministic Parallelism, Proc. OSDI 2010 | ||
Fri 10/24 | Lab 4b due, 9:00 PM | |||
Week 9 | ||||
Tue 10/28 | Kernel design IV | read FlexSC: Flexible System Call Scheduling with Exception-Less System Calls, Proc. OSDI 2010 | ||
Thu 10/30 | Sandboxing I | read Efficient Software-Based Fault Isolation, Proc. SOSP 1993 | Lab 6 released | |
Fri 10/31 | Lab 4c due, 9:00 PM | |||
Week 10 | ||||
Tue 11/04 | Sandboxing II | None. Please come prepared to discuss the SFI paper, assigned for Thursday. | Lab 7 released | |
Thu 11/06 | Sandboxing III | read Dune: Safe User-level Access to Privileged CPU Features, Proc. OSDI 2012 | ||
Fri 11/07 | Lab 5 due, 9:00 PM | |||
Week 11 | ||||
Tue 11/11 | Security I | read The Confused Deputy and read The KeyKOS Nanokernel Architecture, Proc. Workshop on Micro-kernels and Other Kernel Architectures 1992 |
||
Thu 11/13 | No class | |||
Fri 11/14 | Lab 6a due, 9:00 PM | |||
Week 12 | ||||
Mon 11/17 | Email lab 7 proposal and project teams by 3:00 PM | |||
Tue 11/18 | Security II | read Capsicum: practical capabilities for UNIX, Proc. Usenix Security 2010 | ||
Thu 11/20 | Security III | read Static checking of dynamically-varying security policies, Proc. OSDI 2010 | ||
Fri 11/21 | Lab 6b due, 9:00 PM | |||
Week 13 | ||||
Tue 11/25 | I/O handling I | Read Eliminating Receive Livelock in an Interrupt-driven Kernel, Proc. Usenix Technical 1996 | ||
Thu 11/27 | No class (Thanksgiving Recess) | |||
Week 14 | ||||
Tue 12/02 | I/O handling II | Read Arrakis: The Operating System is the Control Plane, Proc. OSDI 2014 | ||
Thu 12/04 | Whole systems I | Read Easy Freshness with Pequod Cache Joins, Proc. NSDI 2014 | ||
Week 15 | ||||
Tue 12/09 | Whole systems II | Read Flat Datacenter Storage, Proc. OSDI 2012 | ||
Thu 12/11 | Last class | read Hints for Computer System Design, ACM Operating Systems Rev. 15, 5 (Oct. 1983) skim End-to-end Arguments in Systems Design, ACM TOCS, 1984 |
||
Fri 12/12 | Lab 7 (final project) code due, 9:00 PM | |||
Exam week | ||||
Thu 12/18 | Final exam, 2:00 PM--5:00 PM, CIWW 412 |
Last updated: Tue Dec 09 20:43:33 -0500 2014 [validate xhtml]