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