CPCS 508 Graduate Operating Systems
2020 Winter Term 2 (i.e., Spring 2021)

Tuesday/Thursday 9:30 - 11:00

Home Syllabus Background Lecture Notes Piazza Group

Week Date Topic Reading and Assignments
1 Tue, Jan 12 Course Introduction Hand: Are Virtual Machine Monitors Microkernels Done Right?
Heiser: Are Virtual-Machine Monitors Microkernels Done Right?
Thu, Jan 14 The Beginning of Timesharing Corbató: An Experimental Time-Sharing System
Dijkstra: The Structure of the "THE" Multiprogramming System
2 Tue, Jan 19 Early Virtual Memory Kilburn: One Level Storage System
Daley: Virtual Memory, Processes, and Sharing in MULTICS
Bensoussan: The Multics Virtual Memory:Concepts and Design
Thu, Jan 21 Microkernels Rashid: From RIG to Accent to Mach: The Evolution of a Network Operating System
Leidtke: On micro-kernel Construction
3 Tue, Jan 26 Introduction to Virtual Machines Meyer: A virtual machine time-sharing system.
Bugnion: Disco: running commodity operating systems on scalable multiprocessors
Thu, Jan 28 Multi-processors Then and Now Assignment 1 due FRIDAY Jan 29 at 5:00 PM
Gamsa: Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System
Baumann: The Multikernel: A New OS Architecture for Scalable Multicore Systems
4 Tue, Feb 2 Cool Virtualization Techniques Quiz #1: History and Virtual Machines
Please complete paper survey
Waldspurger: Memory Resource Management in VMware ESX Server
Thu, Feb 4 Virtual machines on virtual machine on ... Ford: Microkernels Meet Recursive Virtual Machines
Barham: Xen and the Art of Virtualization
5 Tue, Feb 9 Moving Isolation Boundaries: Containers Project Proposal and Research Plan due TUESDAY Feb 9 at 5:00 PM
Resource Containers: A New Facility for Resource Management in Server Systems
Menage: Adding Generic Process Containers to the Linux Kernel
Thu, Feb 11 Moving Isolation Boundaries Again Manco: My VM is Lighter (and Safer) than your Container
Litton: Light-weight Contexts: An OS Abstraction for Safety and Performance
6 Tue, Feb 16 Winter Break - No classes
Thu, Feb 18
7 Tue, Feb 23 Unikernels Engler: Exokernel: An Operating System Architecture for Application-Level Resource Management
Porter: Rethinking the Library OS from the Top Down
Thu, Feb 25 Modern Unikernels Kivity: OSv—Optimizing the Operating System for Virtual Machines
Schatzberg: EbbRT: A Framework for Building Per-Application Library Operating Systems
8 Tue, Mar 2 It's All about the Network Schedule First Project Status meeting with us
Mosberger: Making Paths Explicit in the Scout Operating System
Peter: Arrakis: The Operating System is the Control Plane
Thu, Mar 4 Quiz and Mirco-kernel-style Networking Quiz #2: OS Architectures
Please complete paper survey #2
Marty: Snap: a Microkernel Approach to Host Networking
9 Tue, Mar 9 Component-based OS and Code Synthesis for Optimization Pu: The Synthesis Kernel
Ford: The Flux OSKit: A Substrate for Kernel and Language Research
Thu, Mar 11 OS Verification Klein: seL4: Formal Verification of an OS Kernel
Nelson: Hyperkernel: Push-Button Verification of an OS Kernel
10 Tue, Mar 16 File Systems Schedule Second Project Status meeting with us
Hagmann: Reimplementing the Cedar File System Using Logging and Group Commit
Rosenblum: The Design and Implementation of a Log-Structured File System
Thu, Mar 18 File System Verification Hance: Storage Systems are Distributed Systems (So Verify Them That Way!)
Chen: Using Crash Hoare Logic for Certifying the FSCQ File System
11 Tue, Mar 23 Network File Systems Sandberg: Design and Implementation of the Sun Network Filesystem
Howard: Scale and Performance in a Distributed File System
Thu, Mar 25 Distributed File Systems Anderson: Serverless Network File Systems
Mickens: Blizzard: Fast, Cloud-scale Block Storage for Cloud-oblivious Applications
12 Tue, Mar 30 Distributed Systems Schroeder: Experience with Grapevine: The Growth of a Distributed System
Rinard: Enhancing Server Availability and Security Through Failure-Oblivious Computing
Thu, Apr 1 Wisdom Quiz #3: Synthesis, Verification, and File Systems (oh my)
Project First Draft Due by SUNDAY, April 4 at 9:00 PM
Please complete paper survey
Lampson: Hints for System Design
13 Tue, Apr 06 Project Presentations I
Thu, Apr 08 Project Presentations II
14 Tue, Apr 13 Mock Program Committee Paper Reviews due by MONDAY, April 12 at 5:00pm
(Last Day of Class)
Thu, Apr 15 No classes
15 Tue, Apr 20 Exam Period
Thu, Apr 22
16 Fri, Apr 30 FINAL PROJECT This date is subject to change pending final exam schedule
Final projects due at 5:00 PM

Papers with which we are assuming you are familiar.


The following papers are a collection of bits of wisdom on systems design, doing research, writing papers, and giving presentations. Some are papers you may have discussed in other classes; if you haven't read these, put them on the stack of, "Things I really should read some time." Most are quite light and won't take long.

The papers are listed alphabetically by first author and title.