CPSC 508 Graduate Operating Systems
2019 Winter Term 1

Tuesday/Thursday 11:00-12:30
DMP 101

Home Syllabus Background Lecture Notes Piazza Group

Week Date Topic Reading and Assignments
1 9/3 Class Cancelled for Orientation and Imagine UBC
9/5 Course Introduction First Day Handout
Hand: Are Virtual Machine Monitors Microkernels Done Right?
Heiser: Are Virtual-Machine Monitors Microkernels Done Right?
2 9/10 The Beginning of Timesharing Corbató: An Experimental Time-Sharing System
Dijkstra: The Structure of the "THE" Multiprogramming System
9/12 Early Virtual Memory Kilburn: One Level Storage System
Daley: Virtual Memory, Processes, and Sharing in MULTICS
Bensoussan: The Multics Virtual Memory:Concepts and Design
3 9/17 Microkernels Rashid: From RIG to Accent to Mach: The Evolution of a Network Operating System
Leidtke: On micro-kernel Construction
9/19 Multi-processors Then and Now 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 9/24 Introduction to Virtual Machines Assignment 1 due MONDAY September 23 at 5:00 PM
Meyer: A virtual machine time-sharing system.
Bugnion: Disco: running commodity operating systems on scalable multiprocessors
9/26 Cool Virtualization Techniques Quiz #1: History and Virtual Machines
Please complete paper survey
Waldspurger: Memory Resource Management in VMware ESX Server
5 10/1 Virtual machines on virtual machine on ... Ford: Microkernels Meet Recursive Virtual Machines
Barham: Xen and the Art of Virtualization
10/3 Moving Isolation Boundaries: Containers Resource Containers: A New Facility for Resource Management in Server Systems
Menage: Adding Generic Process Containers to the Linux Kernel
10/4: Project Proposal and Research Plan Due 5:00 PM
6 10/8 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
10/10 Unikernels Engler: Exokernel: An Operating System Architecture for Application-Level Resource Management
Porter: Rethinking the Library OS from the Top Down
7 10/15 Modern Unikernels Schedule first project status meeting with me!
Kivity: OSv—Optimizing the Operating System for Virtual Machines
Schatzberg: EbbRT: A Framework for Building Per-Application Library Operating Systems
10/17 It's All about the Network Mosberger: Making Paths Explicit in the Scout Operating System
Peter: Arrakis: The Operating System is the Control Plane
8 10/22 Quiz and Component-based Operating Systems Quiz #2: OS Architectures Please complete paper survey #2
Ford: The Flux OSKit: A Substrate for Kernel and Language Research
10/24 Code Synthesis for Optimization Pu: The Synthesis Kernel
Hoiland-Jorgensen: The eXpress Data Path: Fast Programmable Packet Processing in the Operating System Kernel
9 10/29 OS Verification Schedule Second Project Status meeting with me
Klein: seL4: Formal Verification of an OS Kernel
Using Crash Hoare Logic for Certifying the FSCQ File System
10/31 More Verification Gu: CertiKOS: An Extensible Architecture for Building Certified Concurrent OS Kernels
Nelson: Hyperkernel: Push-Button Verification of an OS Kernel
10 11/5 File Systems Hagmann: Reimplementing the Cedar File System Using Logging and Group Commit
Rosenblum: The Design and Implementation of a Log-Structured File System
11/7 Network File Systems Sandberg: Design and Implementation of the Sun Network Filesystem
Howard: Scale and Performance in a Distributed File System
11 11/12 Distributed File Systems Anderson: Serverless Network File Systems
Mickens: Blizzard: Fast, Cloud-scale Block Storage for Cloud-oblivious Applications
11/14 Distributed Systems Schroeder: Experience with Grapevine: The Growth of a Distributed System
Rinard: Enhancing Server Availability and Security Through Failure-Oblivious Computing
12 11/19 Project Presentations Project First Draft Due by SUNDAY, 11/24 9:00 PM
11/21 Project Presentations
13 11/26 Wisdom Quiz #3: Synthesis, Verification, and File Systems (oh my)
Please complete paper survey
Lampson: Hints for System Design
Paper Reviews due by 5:00PM!
11/28 Mock Program Committee (Last Day of Class)
16 12/3 Exam Period
17 12/13 FINAL PROJECTS This date is subject to change pending final exam schedule
Final projects due at 5:00 PM

Papers with which I am 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.