Links to notes etc. on future days are copies of materials from 2012 to give you an idea what the future will bring. We will update the notes as the course progresses.

MondayTuesday WednesdayThursday Friday
sep 1 sep 2
Reg Day
sep 3
LEC 1: Operating systems (handouts: xv6 source, xv6 book)
Preparation: Unix intro
Assignment: HW: shell
Assignment: Lab 1: C, Assembly, Tools, and Bootstrapping
sep 4 sep 5
sep 8
LEC 2: PC hardware and x86 programming slides, notes
Preparation: Read Bootstrap/PC hardware appendices and the related xv6 source files
Assignment: HW: Boot xv6
sep 9 sep 10
LEC 3: C and gdb (pointers example)
Homework 1 due: Boot xv6
Preparation: Read 2.9 (Bitwise operators), 5.1 (Pointers and Addresses) through 5.5(Character Pointers and Functions) and 6.4 (pointers to structures) in K&R
Assignment: Lab 2: Memory management
sep 11
DUE: Lab 1
sep 12
sep 15
LEC 4: Shell & OS organization
Preparation: Read chapter 0 of the xv6 book.
Homework 2 due: shell
sep 16 sep 17
LEC 5: Isolation mechanisms
Preparation: Read "Chapter 1: The first process" and the related xv6 source files
Assignment: HW: system calls
sep 18 sep 19
Student holiday
sep 22
LEC 6: Virtual memory (handouts: page table translation and registers)
Preparation: Read "Chapter 2: Page Tables"
Homework 3 due: systems calls
Assignment: HW lazy page allocation
sep 23 sep 24
LEC 7: Using virtual memory (handout: JOS virtual memory layout)
Homework 4 due: HW lazy page allocation
Assignment: Lab 3: User-Level Environments
sep 25
DUE: Lab 2
sep 26
sep 29
LEC 8: System calls, interrupts, exceptions (handouts: IDT)
Preparation: Read "Traps, interrupts, and drivers" and the related xv6 source files
Assignment: HW xv6 CPU alarm
sep 30 oct 1
Hacking day
Homework 5 due: HW xv6 CPU alarm
Assignment: HW multithreaded programming
oct 2
DUE: Lab 3 (Part A)
oct 3
oct 6
Hacking day
oct 7 oct 8
LEC 9: Multiprocessors and locking
Preparation: Read "Locking" with spinlock.c and skim mp.c
Homework 6 due: HW multithreaded programming
Assignment: HW xv6 locks
Assignment: Lab 4: Preemptive Multitasking
oct 9
DUE: Lab 3 (Part B)
oct 10
oct 13
Columbus Day
oct 14 oct 15
LEC 10: Processes and switching
Preparation: Read "Scheduling" up to "Sleep and wakeup" with proc.c, setjmp.S, and sys_fork (in sysproc.c)
Homework 7 due: HW xv6 locks
Assignment: HW uthreads
oct 16
DUE: Lab 4 (Part A)
oct 17
oct 20
LEC 11: sleep&wakeup
Preparation: Read remainder of "Scheduling"; read remainder of proc.c and sys_wait, sys_exit, sys_kill
Homework 8 due: HW uthreads
Assignment: HW barrier
oct 21 oct 22
LEC 12: File systems
Preparation: Read bio.c, fs.c, sysfile.c, file.c and "File system" except for the logging sections
Homework 9 due: HW barrier
Assignment: HW big files
Assignment: Lab 7: Final Project
oct 23
DUE: Lab 4 (Part B)
oct 24
oct 27
LEC 13: Crash recovery
Preparation: Read log.c and the logging sections of "File system"
Homework 10 due: HW big files
Assignment: HW crash
oct 28 oct 29
Hacking day
Assignment: Lab 5: File system, spawn, and sh
oct 30
DUE: Lab 4 (Part C)
oct 31
DUE: Piazza discussion final project
nov 3
QUIZ #1 open book and notes
scope: Lectures 1 through 13, labs 1 through 3
practice: previous years' quizzes.
nov 4 nov 5
LEC 14: File system performance and fast crash recovery
Homework 11 due: HW crash
Preparation: Read Journaling the Linux ext2fs Filesystem (1998); do Homework 14
nov 6 nov 7
DUE: final project proposal
nov 10 - nov 11
Veteran's Day
nov 12
LEC 15: OS Organization
Preparation: Read Exokernel (1995)
Homework 12 due: HW exokernel question
nov 13
DUE: Lab 5
nov 14
nov 17
LEC 16: Language/OS co-design
Preparation: Read Singularity (2007)
nov 18 nov 19
LEC 17: Scalable locks (code)
Preparation: Read Non-scalable locks paper (2012)
Homework 13 due: ticket lock question
nov 20 nov 21
nov 24
LEC 18: Scaling OSes
Preparation: Read RadixVM (2013)
Homework 14 due: refcache question
DUE: Email us a status update on your final project (a paragraph)
nov 25 nov 26
Hacking day
nov 27 - nov 28
dec 1
LEC 19: Virtual Machines
Preparation: Read Dune: Safe User-level Access to Privileged CPU Features (2012)
Homework 15 due: Dune question
dec 2 dec 3
Hacking day
dec 4 dec 5
DUE: Lab 6 or 7
dec 8
LEC 20: High-performance networking
Preparation: Read IX: A Protected Dataplane Operating System for High Throughput and Low Latency (2014)
Homework 16 due: IX question
Project sign-offs
dec 9 dec 10
LEC 21: demos in class
Project sign-offs
dec 11 dec 12
dec 15 dec 16 dec 17
Finals Period
9:00-12:00 DUPONT
open book and notes
scope: Lectures 14 through last lecture, labs 4 and 5
practice: previous years' quizzes.
dec 18 dec 19

Questions or comments regarding 6.828? Send e-mail to the TAs at

Creative Commons License Top // 6.828 home // Last updated Wednesday, 22-Sep-2021 12:14:45 EDT