The Zoom link for the 1-2:30p lecture is in a Piazza post. Links to notes etc. on future days are copies of materials from 2019 6.S081. 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
aug 31
Reg Day
sep 1 sep 2
LEC 1 (rtm): Introduction and examples (handouts: xv6 book) video
Preparation: Read chapter 1 (for your amusement: Unix)
Homework 1 due: Question
Assignment: Lab util: Unix utilities
sep 3 sep 4
sep 7
Labor Day
sep 8 sep 9
LEC 2 (TAs/dm): C and gdb (pointers example)
Preparation: 2.9 (Bitwise operators) and 5.1 (Pointers and addresses) through 5.6 (Pointer arrays) and 6.4 (pointers to structures) by Kernighan and Ritchie (K&R)
Assignment: Lab syscall: System calls
sep 10
DUE: Lab util
sep 11
sep 14
LEC 3 (fk): OS organization and system calls (boards) video
Preparation: Read chapter 2 and xv6 code: kernel/proc.h, kernel/defs.h, kernel/entry.S, kernel/main.c, user/initcode.S, user/init.c, and skim kernel/proc.c and kernel/exec.c
Homework 2 due: Question
sep 15 sep 16
LEC 4 (fk): Page tables (boards) video
Preparation: Read Chapter 3 and kernel/memlayout.h, kernel/vm.c, kernel/kalloc.c, kernel/riscv.h, and kernel/exec.c
Homework 3 due: Question
Assignment: Lab pgtbl: Page tables
sep 17
DUE: Lab syscall
sep 18
sep 21
LEC 5 (TAs/nk): Calling conventions and stack frames RISC-V (slides) video
Preparation: Read Calling Convention
sep 22 sep 23
LEC 6 (rtm): Isolation & system call entry/exit (video)
Preparation: Read Chapter 4, except 4.6 and kernel/riscv.h, kernel/trampoline.S, and kernel/trap.c
Homework 4 due: Question
Assignment: Lab traps: Trap
sep 24
DUE: Lab pgtbl
sep 25
sep 28
LEC 7 (fk): Q&A labs (boards) video
Homework 5 due: Question
sep 29 sep 30
LEC 8 (fk): Page faults (boards) video
Preparation: Read Section 4.6
Homework 6 due: Question
Assignment: Lab lazy: Lazy allocation
oct 1
DUE: Lab trap
oct 2
oct 5
LEC 9 (fk): Interrupts (boards) video
Preparation: Read Chapter 5 and kernel/kernelvec.S, kernel/plic.c, kernel/console.c, kernel/uart.c, kernel/printf.c
Homework 7 due: Question
oct 6 oct 7
LEC 10 (fk): Multiprocessors and locking (boards) video
Preparation: Read "Locking" with kernel/spinlock.h and kernel/spinlock.c
Homework 8 due: Question
Assignment: Lab cow: Copy-on-write fork
oct 8
DUE: Lab lazy
oct 9
oct 12
Indigenous Peoples Day
oct 13
Monday schedule
Hacking day: no class meeting; work on the lab
oct 14
LEC 11 (rtm): Thread switching (video)
Preparation: Read "Scheduling" through Section 7.4, and kernel/proc.c, kernel/swtch.S
Homework 9 due: Question
Assignment: Lab thread: Multithreading
oct 15
DUE: Lab cow
oct 16
oct 19
LEC 12 (rtm): Q&A labs (video)
Homework 10 due: Question
oct 20 oct 21
LEC 13 (rtm): sleep&wakeup and code (video)
Preparation: Read remainder of "Scheduling", and corresponding parts of kernel/proc.c, kernel/sleeplock.c
Homework 11 due: Question
Assignment: Lab lock: Parallelism/locking
oct 22
DUE: Lab thread
oct 23
oct 26
LEC 14 (fk): File systems (boards) (video)
Preparation: Read kernel/bio.c, kernel/fs.c, kernel/sysfile.c, kernel/file.c and "File system" (except for the logging sections)
Homework 12 due: Question
oct 27 oct 28
LEC 15 (fk): Crash recovery (boards) video
Preparation: Read kernel/log.c and the logging sections of "File system"
Homework 13 due: Question
Assignment: Lab fs: File system
oct 29
DUE: lab lock
oct 30
nov 2
LEC 16 (rtm): File system performance and fast crash recovery (video)
Preparation: Read Journaling the Linux ext2fs Filesystem (1998)
Homework 14 due: Question
nov 3 nov 4
LEC 17 (fk): Virtual memory for applications (boards) (sqrt example) (baker example) video
Preparation: Read Virtual Memory Primitives for User Programs (1991)
Homework 15 due: Question
Assignment: Lab mmap: Mmap
nov 5
DUE: Lab fs
nov 6
nov 9
LEC 18 (rtm): OS Organization (video)
Preparation: Read The Performance of micro-Kernel-Based Systems (1997)
Homework 16 due: Question
nov 10 nov 11
Veteran's Day
nov 12 nov 13
nov 16
LEC 19 (rtm): Virtual Machines (video)
Preparation: Read Dune: Safe User-level Access to Privileged CPU Features (2012)
Homework 17 due: Question
nov 17 nov 18
LEC 20 (fk): Kernels and HLL (slides) video
Preparation: Read the Biscuit paper (2018), FAQ
Homework 18 due: Question
Assignment: Lab net: Network stack
nov 19
DUE: Lab mmap
nov 20
nov 23 - nov 29
nov 30
LEC 21 (rtm): Networking (video)
Preparation: Read Receive Livelock (1996)
Homework 19 due: Question
dec 1 dec 2
LEC 22 (rtm): Meltdown (video)
Preparation: Read Meltdown (2018)
Homework 20 due: Question
dec 3 dec 4
dec 7
LEC 23 (rtm): RCU notes, 2018 slides (video)
Preparation: Read RCU paper (2013), FAQ
Homework 21 due: Question
dec 8
DUE: Lab net
dec 9
LEC 24 (fk): Q&A (video)
Homework 22 due: Question
dec 10 dec 11

Questions or comments regarding S6.081? Send e-mail to the course staff at

Creative Commons License Top // S6.081 home // Last updated Wednesday, 09-Dec-2020 18:30:26 EST