This is the anticipated schedule for lectures and assignments. Assignments and due dates will be officially announced during class at which point the calendar will be updated, if necessary.

Monday Tuesday Wednesday Thursday Friday



Lecture : Operating systems
Preparation: xv6 book ch 0,
Operating system concepts (osc) ch [1], 2

Assignment: Lab 0
Assignment: Lab 1


Due: shell assignment

Lecture : x86 architecture
Preparation: xv6 book ch 1, app. B

Labor Day


Lecture : Virtual memory
Preparation: xv6 book ch 2, osc ch 8
Assignment: Lab 2

Due: Lab 1


Lecture : Memory Management
Preparation: osc ch 9


Lecture : Traps and Interrupts
Preparation: xv6 book ch 3 up to drivers
Assignment: Lab 3a

Due: Lab 2


Lecture : Processes and Threads
Preparation: osc ch 3.1-3.3, ch 4


Lecture : Synchronization
Preparation: xv6 book ch 4, osc ch 5
Assignment: Lab 3b

Due: Lab 3a


Paper: Contiki - a Lightweight and Flexible Operating System for Tiny Networked Sensors by Rahul Dhodapkar
Paper: Reflections on an Operating System Design by Hugh O'Cinneide


Code review: Lab 0, Lab 1, Lab 2
Assignment: Lab 4a

Due: Lab 3b


Lecture : Scheduling
Preparation: xv6 book ch 5, osc ch 6


Lecture : Interprocess Communication
Preparation: osc ch 3.4-3.6
Assignment: Lab 4b

Due: Lab 4a


Paper: Exokernel: an operating system architecture for application-level resource management by Iulia Tamas
Paper: Mach: A New Kernel Foundation for UNIX Development by Jonathan Cai


Paper: Singularity: Rethinking the Software Stack by Dylan Visher
Paper: Thoth, a Portable Real-Time Operating System by Jason Brooks

Assignment: Lab 4c

Due: Lab 4b


Lecture : File systems
Preparation: xv6 book ch 6, osc ch 10.5, 11, and 12


Lecture : File systems (2)
Preparation: xv6 book ch 6, osc ch 10.5, 11, and 12
Assignment: Lab 5

Due: Lab 4c


Lecture : Devices and I/O
Preparation: xv6 book ch 3 Drivers, osc ch 13


October recess



Midterm Exam


Hack Day
Assignment: Lab 6a

Due: Lab 5


Lecture : Test Review


Lecture : Networking
Preparation: osc ch 3.6.[1, 2], 17.[3, 4, 5, 6]
Assignment: Lab 6b

Due: Lab 6a


Lecture : Virtualization
Preparation: osc ch 16


Lecture : Multiprocessor coordination
Preparation: MCS Locks, Read-Copy Update
Assignment: Lab 7

Due: Lab 6b


Lecture : Distributed systems
Preparation: HDFS, MapReduce Chord


Lecture : Protection and Security
Preparation: osc ch 14 and 15



November recess


November recess



Paper: Xen and the Art of Virtualization by Faisal Zaghloul
Paper: The Design and Implementation of a Log-Structured File System by Seth Lifland


Lecture : OS Organization

Due: Lab 7








Final exam 7 PM