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
|
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.