Links to notes etc. on future days are copies of materials from 2018 6.828. We will update the notes as the course progresses. The lecture notes may help you remember the lecture content, but they are not a replacement for attending lectures.

MondayTuesday WednesdayThursday Friday
sep 2 sep 3
Reg Day
sep 4
LEC 1 (rtm): Introduction and examples (handouts: xv6 book)
Preparation: Read chapter 1 of the xv6 book (for your amusement: Unix)
Assignment: Lab util: Unix utilities
sep 5 sep 6
sep 9
LEC 2 (fk): Dynamic memory allocation (allocators)
Preparation: 5.1 (Pointers and addresses) through 5.6 (Pointer arrays) and 6.4 (pointers to structures), and 8.7 (Storage Allocator) by Kernighan and Ritchie (K&R)
sep 10 sep 11
LEC 3 (TAs): C and gdb (pointers example)
Preparation: Read 2.9 (Bitwise operators) by K&R
Assignment: Lab sh: Simple shell
sep 12
DUE: Lab util
sep 13
sep 16
LEC 4 (rtm): Isolation & system call entry/exit
Preparation: Read "Chapter 2: Operating system organization"
sep 17 sep 18
LEC 5 (fk): Virtual memory (1)
Preparation: Read "Chapter 3: Page Tables"
Assignment: Lab alloc: Memory allocator
sep 19
DUE: Lab shell
DUE: 6.828: email us a paragraph with project proposal
sep 20
sep 23
LEC 6 (ab): Virtual memory (2) (slides)
sep 24 sep 25
LEC 7 (fk): System calls, interrupts, exceptions
Preparation: Read "Traps and device drivers" and the related xv6 source files
Assignment: Lab lazy: Lazy allocation
sep 26
DUE: Lab alloc
sep 27
sep 30
LEC 8 (ab): Multiprocessors and locking (slides)
Preparation: Read "Locking" with spinlock.c
oct 1 oct 2
LEC 9 (rtm): Processes and switching
Preparation: Read "Scheduling" up to "Sleep and wakeup" and proc.c, swtch.S
Assignment: Lab cow: Copy-on-write fork
oct 3
DUE: Lab lazy
DUE: 6.828: project proposal
oct 4
oct 7
LEC 10 (rtm): sleep&wakeup
Preparation: Read remainder of "Scheduling", and corresponding parts of proc.c
oct 8 oct 9
LEC 11 (TAs): Calling conventions and stack frames RISC-V
Assignment: Lab syscall: Uthread & alarm
oct 10
DUE: Lab cow
oct 11
oct 14 - oct 15
Columbus Day
oct 16
LEC 12 (fk): File systems
Preparation: Read bio.c, fs.c, sysfile.c, file.c and "File system" except for the logging sections
oct 17
DUE: Lab syscall
oct 18
oct 21
Quiz #1 open book and notes
scope: Lectures 1 through 11, labs through lab cow
practice: previous years' quizzes.
oct 22 oct 23
LEC 13 (fk): Crash recovery
Preparation: Read log.c and the logging sections of "File system"
Assignment: Lab lock: Parallelism/locking
oct 24 oct 25
oct 28
No class; hacking day
oct 29 oct 30
LEC 14 (rtm): File system performance and fast crash recovery
Preparation: Read Journaling the Linux ext2fs Filesystem (1998)
Assignment: Lab fs: File system
oct 31 nov 1
DUE: Lab lock
DUE: 6.828: Report project status
nov 4
LEC 15 (ab): Virtual Memory (3) (slides)
Preparation: Read Virtual Memory Primitives for User Programs (1991)
nov 5 nov 6
LEC 16 (rtm): OS Organization
Preparation: Read Exokernel (1995), FAQ
Homework 1 due: HW exokernel question
Assignment: Lab mmap: Mmap
nov 7
DUE: Lab fs
nov 8
nov 11
Veteran's Day
nov 12 nov 13
LEC 17 (ab): OS and Networking
Preparation: Read Receive Livelock (1996)
Homework 2 due: HW livelock question
Assignment: Lab net: Network stack
nov 14
DUE: Lab mmap
DUE: 6.828: Report project status
nov 15
nov 18
LEC 18 (fk): Kernels and HLL
Preparation: Read the Biscuit paper (2018), FAQ
Homework 3 due: HW Biscuit question
nov 19 nov 20
LEC 19 (ab): Scalable locks (slides) (code)
Preparation: Read Non-scalable locks paper (2012), FAQ
Homework 4 due: ticket lock question
nov 21 nov 22
nov 25
LEC 20 (rtm): RCU notes, 2018 slides
Preparation: Read RCU paper (2013), FAQ
Homework 5 due: RCU question
nov 26 nov 27
No class; hacking day
nov 28 - nov 29
dec 2
LEC 21 (ab): Virtual Machines (1) (slides)
Preparation: Read Software vs Hardware Virtualization (2006) or Disco?
Homework 6 due: VM question
dec 3 dec 4
No class; hacking day
dec 5 dec 6
DUE: Lab net
DUE: 6.828: project
dec 9
LEC 22: 6.828 project demos in class
dec 10 dec 11
LEC 23: 6.828 project demos in class
dec 12 dec 13
dec 16 dec 17 dec 18 dec 19
Quiz #2
Location: 32-123, Time: 1:30-3:30PM
open book, notes, and papers.
scope: Lectures 12 through last lecture (dec 2), labs syscall through mmap.
practice: previous years' quizzes.
dec 20

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

Creative Commons License Top // 6.828 home // Last updated Wednesday, 04-Dec-2019 18:07:24 EST