Links to notes, videos etc. on future days are copies of materials from the 2020 version of 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
sep 6
Labor Day
sep 7
Reg Day
sep 8
LEC 1 (ab): Introduction and examples (handouts: xv6 book; 2020: notes, video)
Preparation: Read chapter 1 (for your amusement: Unix)
Homework 1 due: Question
Assignment: Lab util: Unix utilities
sep 9 sep 10
sep 13
LEC 2 (TAs): C and gdb
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)
sep 14 sep 15
LEC 3 (ab): OS organization and system calls (2020: notes, 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
Assignment: Lab syscall: System calls
sep 16
DUE: Lab util
sep 17
sep 20
LEC 4 (ab): Page tables (2020: notes, 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
sep 21 sep 22
LEC 5 (TAs): GDB, calling conventions and stack frames RISC-V (2020: notes, boards, video)
Preparation: Read Calling Convention
Assignment: Lab pgtbl: Page tables
sep 23
DUE: Lab syscall
sep 24
sep 27
LEC 6 (ab): Isolation & system call entry/exit (2020: notes, video)
Preparation: Read Chapter 4, except 4.6 and kernel/riscv.h, kernel/trampoline.S, and kernel/trap.c
Homework 4 due: Question
sep 28 sep 29
LEC 7 (ab): Page faults (2020: notes, boards, video)
Preparation: Read Section 4.6
Homework 5 due: Question
Assignment: Lab traps: Traps
sep 30
DUE: Lab pgtbl
oct 1
oct 4
LEC 8 (ab): Q&A labs
Homework 6 due: Question
oct 5 oct 6
LEC 9 (ab): Interrupts (2020: notes, 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
Assignment: Lab cow: Copy-on-write fork
oct 7
DUE: Lab traps
oct 8
oct 11
Indigenous Peoples Day
oct 12 oct 13
LEC 10 (ab): Multiprocessors and locking (2020: notes, boards, video)
Preparation: Read "Locking" with kernel/spinlock.h and kernel/spinlock.c
Homework 8 due: Question
oct 14 oct 15
oct 18
LEC 11 (ab): Scheduling 1 (2020: notes, video)
Preparation: Read "Scheduling" through Section 7.4, and kernel/proc.c, kernel/swtch.S
Homework 9 due: Question
oct 19 oct 20
LEC 12 (ab): Scheduling 2 (2020: notes, code, video)
Preparation: Read remainder of "Scheduling", and corresponding parts of kernel/proc.c, kernel/sleeplock.c
Homework 10 due: Question
Assignment: Lab thread: Multithreading
oct 21
DUE: Lab cow
oct 22
oct 25
LEC 13 (ab): Q&A labs
Homework 11 due: Question
oct 26 oct 27
LEC 14 (ab): File systems (2020: notes, 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
Assignment: Lab net: Network driver
oct 28
DUE: Lab thread
oct 29
nov 1
LEC 15 (ab): Crash recovery (2020: notes, boards, video)
Preparation: Read kernel/log.c and the logging sections of "File system"
Homework 13 due: Question
nov 2 nov 3
LEC 16 (ab): File system performance and fast crash recovery (2020: notes, video)
Preparation: Read Journaling the Linux ext2fs Filesystem (1998)
Homework 14 due: Question
nov 4 nov 5
nov 8
LEC 17 (ab): Virtual memory for applications (2020: notes, boards, video) (baker example)
Preparation: Read Virtual Memory Primitives for User Programs (1991)
Homework 15 due: Question
nov 9
DUE: Lab net
nov 10
LEC 18 (ab): OS Organization (2020: notes, video)
Preparation: Read The Performance of micro-Kernel-Based Systems (1997)
Homework 16 due: Question
Assignment: Lab lock: Parallelism/locking
nov 11
Veteran's Day
nov 12
nov 15
LEC 19 (ab): Virtual Machines (2020: notes, video)
Preparation: Read Dune: Safe User-level Access to Privileged CPU Features (2012)
Homework 17 due: Question
nov 16 nov 17
LEC 20 (ab): Kernels and HLL] (2020: notes, slides, video)
Preparation: Read the Biscuit paper (2018), FAQ
Homework 18 due: Question
Assignment: Lab fs: File system
nov 18
DUE: Lab lock
nov 19
nov 22
LEC 21 (ab): Networking (2020: notes, video)
Preparation: Read Receive Livelock (1996)
Homework 19 due: Question
nov 23 nov 24
Hacking day: no class meeting; work on the lab
DUE: Lab fs
Assignment: Lab mmap: Mmap
nov 25 - nov 26
nov 29
LEC 22 (ab): Meltdown (2020: notes, video)
Preparation: Read Meltdown (2018)
Homework 20 due: Question
nov 30 dec 1
LEC 23 (ab): Multi-Core scalability and RCU (2020: notes, video)
Preparation: Read RCU paper (2013), FAQ
Homework 21 due: Question
dec 2 dec 3
dec 6
LEC 24 (TAs): Current Research: Radiation Tolerance
Preparation: Read NASA CALIPSO paper (2006) for background
Homework 22 due: Question
dec 7
DUE: Lab mmap
dec 8
LEC 25 (ab): Q&A
Homework 23 due: Question
dec 9
dec 10

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

Creative Commons License Top // S6.081 home // Last updated Monday, 06-Dec-2021 00:41:21 EST