Schedule

Note this schedule is subject to change. Please check this page frequently.

Important the required readings must be completed before the class. Paper reviews should be submitted by 12pm before the class.

Week Date Topic Readings Lead Assignments
W1 Tue 08/29 Course Intro
  1. Rise of Worse Is Better, Gabriel, "Lisp: Good News, Bad News, How to Win Big", 1989
Additional Reading
Ryan Huang Reviews not required
Thu 08/31 Historical Perspective
  1. The Structure of the 'THE'-Multiprogramming System, Dijkstra, SOSP, 1967
  2. The Nucleus of a Multiprogramming System, Hansen, CACM, 1970
Questions

THE

  • Q: Dijkstra explicitly states their goals for the THE operating system. How do these goals compare to, say, Microsoft's goals for the Windows operating system? Why do we no longer build operating systems with the same goals as THE?

Nucleus

  • Q: How does synchronization in the RC 4000 system compare with synchronization in the THE system?

Ryan Huang Reviews not required
W2 Tue 09/05 Time-Sharing
  1. Structure of the Multics Supervisor, Vyssotsky, Corbató, and Graham, Fall Joint Computer Conference, 1965
  2. The UNIX Time-Sharing System, Ritchie and Thompson, CACM, 1974
Additional Reading
Questions

UNIX

  • Q: What aspects of Unix as described in the 1974 paper do not survive today, or have been considerably changed?

Ryan Huang
Thu 09/07 OS Structure
  1. Plan 9 From Bell Labs, Pike, Presotto, Dorward, Flandrena, Thompson, Trickey, and Winterbottom, USENIX Computing Systems, 1995
  2. Mach: A New Kernel Foundation For UNIX Development, Accetta, Baron, Bolosky, Golub, Rashid, Tevanian, and Young, USENIX, 1986
Questions

Plan 9

  • Q: What does it mean, "9P is really the core of the system; it is fair to say that the Plan 9 kernel is primarily a 9P multiplexer"?

Ryan Huang
W3 Tue 09/12 OS Structure
  1. On μ-Kernel Construction, Liedtke, SOSP, 1995
  2. The Performance of μ-Kernel-Based Systems, Härtig, Hohmuth, Liedtke, Schönberg, and Wolter, SOSP, 1997
Additional Reading
Questions

L4

  • Q: Compare and contrast the L4 microkernel with the RC4000 Nucleus in terms of their goals to provide a basis on which higher level OS functionality can be implemented.

Ryan Huang
Thu 09/14 OS Structure
  1. Exokernel: An Operating System Architecture for Application-Level Resource Management, Engler, Kaashoek, and O'Toole, SOSP, 1995
  2. Rethinking the Library OS from the Top Down, Porter, Boyd-Wickizer, Howell, Olinsky, and Hunt, ASPLOS, 2011
Additional Reading
Questions

Exokernel

  • Q: Compare and contrast an exokernel with a microkernel.

Drawbridge

  • Q: How does Drawbridge differ with Exokernel in terms of their motivation and approaches?

1. Ryan Huang
2. Alan Yang
Fri 09/15
Draft proposal due
W4 Tue 09/19 Virtual Machine
  1. The Origin of the VM/370 Time-Sharing System, Creasy, IBM Journal of Research and Development, 1981
  2. Disco: Running Commodity Operating Systems on Scalable Multiprocessors, Bugnion, Devine, and Rosenblum, SOSP, 1997
Questions

VM/370

  • Q: What was VM/370's motivation for virtualizing the hardware?

1. Shiqi He
2. Harsh Sinha
Thu 09/21 Project hack day
Fri 09/22
Finalized proposal due
W5 Tue 09/26 Virtual Machine
  1. Xen and the Art of Virtualization, Barham, Dragovic, Fraser, Hand, Harris, Ho, Neugebauer, Pratt, and Warfield, SOSP, 2003
  2. Are Virtual Machine Monitors Microkernels Done Right?, Hand, Warfield, Fraser, Kotsovinos, and Magenheimer, HotOS, 2005
  3. Are Virtual Machine Monitors Microkernels Done Right?, Heiser, Uhlig, and LeVasseur, ACM SIGOPS OSR, 2006
Additional Reading
Questions

Xen

  • Q: Microkernels and virtual machine monitors are two different ways to support the execution of multiple operating systems on modern hardware. How does the microkernel approach in L4 compare and constrast with the VMM approach in Xen?

1. Omid Shahidi
2 & 3. Yuzhuo Jing
Thu 09/28 Lightweight Virtualization
  1. Dune: Safe User-level Access to Privileged CPU Features, Belay, Bittau, Mashtizadeh, Terei, Mazieres, and Kozyrakis, OSDI, 2012
  2. Firecracker: Lightweight Virtualization for Serverless Applications, Brooker, Florescu, Popa, Neugebauer, Agache, Iordache, Liguori, and Piwonka, NSDI, 2020
Additional Reading
1. Priscila Santiesteban
2. Wenzhao Qiu
W6 Tue 10/03 Virtual Memory
  1. Virtual Memory Management in VAX/VMS, Levy and Lipman, IEEE Computer, 1982
  2. Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures, Rashid, Tevanian, Young, Golub, Baronn, Black, Bolosky, and Chew, ASPLOS, 1987
Additional Reading
Questions

VAX/VMS

  • Q: The paper states, "VAX/VMS, then, is a collection of procedures that exist in the address space of each process." Explain in your own words what this statement means.

Mach VM

  • Q: Why does Mach support copy-on-write, and how does it implement it?

1. Johnson He
2. Yi Chen
Thu 10/05 Scheduling
  1. Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism, Anderson, Bershad, Lazowska, and Levy, SOSP, 1991
  2. Lottery Scheduling: Flexible Proportional-Share Resource Management, Waldspurger and Weihl, OSDI, 1994
Additional Reading
Questions

Scheduler Activations

  • Q: The goal of scheduler activations is to have the benefits of both user and kernel threads without their limitations. What are the limitations of user and kernel threads, and what are the benefits that scheduler activations provide?

Lottery Scheduling

  • Q: At a high level, as a mechanism how does lottery scheduling provide modular resource management? Why can't the Unix scheduler provide a similar kind of management?

1. Andrew Larson
2. Yunchi Lu
W7 Tue 10/10 File System
  1. The Design and Implementation of a Log-Structured File System, Rosenblum and Ousterhout, SOSP, 1991
  2. The Google File System, Ghemawat, Gobioff, and Leung, SOSP, 2003
Additional Reading
Questions

LFS

  • Q: When we want to read a block in LFS on disk, how do we figure out where it is?

1. Johnathan Schwartz
2. Wayne Wang
Thu 10/12 File System
  1. Soft Updates: A Solution to the Metadata Update Problem in File Systems, Ganger, K.McKusick, Soules, and Patt., ACM TOCS, 2000
  2. Rethink the sync, Nightingale, Veeraraghavan, Chen, and Flinn, OSDI, 2006
Additional Reading
Questions

Soft Updates

  • Q: What are the advantages and disadvantages of soft updates compared to write-ahead logging?

1. Ryan Huang
2. Yuchen Jiang
W8 Tue 10/17 Fall Break
Thu 10/19 Distribution
  1. The Distributed V Kernel and its Performance for Diskless Workstations, Cheriton and Zwaenepoel, SOSP, 1983
  2. The Sprite Network Operating System, Ousterhout, Cerenson, Douglis, Nelson, and Welch, IEEE Computer, 1988
Additional Reading
Questions

V kernel

  • Q: What is the argument for diskless workstations, and do you agree/disagree with the argument?

Sprite

  • Q: How do the caching policies in Sprite differ from those in the V Kernel?

1. Aayush Singh
2. Congming Liao
Checkpoint #1 report due
W9 Tue 10/24 Distribution
  1. Implementing global memory management in a workstation cluster, Feeley, Morgan, Pighin, Karlin, Levy, and Thekkath, SOSP, 1995
  2. LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation, Shan, Huang, Chen, and Zhang, OSDI, 2018
Additional Reading
Questions

GMS

  • Q: How does the implementation of the GMS page replacement algorithm approximate the ideal algorithm?

1. Ibrahim Abouarabi
2. Aaron Ortwein
Thu 10/26 Project hack day
W10 Tue 10/31 Multi-core   Scalability
  1. The Multikernel: A New OS Architecture for Scalable Multicore Systems, Baumann, Barham, Dagand, Harris, Isaacs, Peter, Roscoe, Schüpbach, and Singhania, SOSP, 2009
  2. The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors, Clements, Kaashoek, Zeldovich, Morris, and Kohler, SOSP, 2013
Additional Reading
Questions

Barrelfish

  • Q: Briefly compare and contrast multikernel with microkernel.

1. Yuxuan Jiang
2. Aakash Bharat
Thu 11/02 Language Support
  1. Language Support for Fast and Reliable Message-based Communication in Singularity OS, Fähndrich, Aiken, Hawblitzel, Hodson, Hunt, Larus, and Levi, EuroSys, 2006
  2. RedLeaf: Isolation and Communication in a Safe Operating System, Narayanan, Huang, Detweiler, Appel, Li, Zellweger, and Burtsev, OSDI, 2020
Additional Reading
Questions

Singularity

  • Q: Compare and contrast Singularity with RedLeaf.

1. Anna Ablove
2. Kailai Cui
W11 Tue 11/07 Reliability
  1. Improving the Reliability of Commodity Operating Systems, Swift, Bershad, and Levy, SOSP, 2003
  2. Operating System Support for Safe and Efficient Auxiliary Execution, Jing and Huang, OSDI, 2022
Additional Reading
1. Gregory Croisdale
2. Yong Seung Lee
Thu 11/09 Formal Verification
  1. seL4: Formal Verification of an OS Kernel, Klein, Elphinstone, Heiser, Andronick, Cock, Derrin, Elkaduwe, Engelhardt, Kolanski, Norrish, Sewell, Tuch, and Winwood, SOSP, 2009
  2. Using Crash Hoare Logic for Certifying the FSCQ File System, Chen, Ziegler, Chajed, Chlipala, Kaashoek, and Zeldovich, SOSP, 2015
Additional Reading
1. Yun-Rong Luo
2. Kaifeng Liu
W12 Tue 11/14 Security
  1. SCONE: Secure Linux Containers with Intel SGX, Arnautov, Trach, Gregor, Knauth, Martin, Priebe, Lind, Muthukumaran, O'Keeffe, Stillwell, Goltzsche, Eyers, Kapitza, Pietzuch, and Fetzer, OSDI, 2016
  2. Shielding Applications from an Untrusted Cloud with Haven, Baumann, Peinado, and Hunt, OSDI, 2014
Additional Reading
1. Jiaheng Lu
2. Wanning He
Thu 11/16 Data Center
  1. Arrakis: The Operating System is the Control Plane, Peter, Li, Zhang, Ports, Woos, Krishnamurthy, Anderson, and Roscoe, OSDI, 2014
  2. IX: A Protected Dataplane Operating System for High Throughput and Low Latency, Belay, Prekas, Klimovic, Grossman, Kozyrakis, and Bugnion, OSDI, 2014
1. Johnson He
2. Yanfu Guo
W13 Tue 11/21 Project hack day Checkpoint #2 report due
Thu 11/23 Thanksgiving break
W14 Tue 11/28 Kernel-bypass
  1. Shenango: Achieving High CPU Efficiency for Latency-sensitive Datacenter Workloads, Ousterhout, Fried, Behrens, Belay, and Balakrishnan, NSDI, 2019
  2. Shinjuku: Preemptive Scheduling for μsecond-scale Tail Latency, Kaffes, Chong, Humphries, Belay, Mazières, and Kozyrakis, NSDI, 2019
Additional Reading
1. Zichao Lin
2. Yong Seung Lee
Thu 11/30 Project Presentations
  1. End-to-End Arguments in System Design, Saltzer, Reed, and Clark, ACM TOCS, 1984
Additional Reading
Questions

End-to-end argument

  • Q: Give an example from the papers we've read so far where the end-to-end argument applies.

W15 Tue 12/05 Project Presentations
Sat 12/09
Final project report due