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

Questions or comments regarding 6.1810? Send e-mail to the course staff at

Creative Commons License Top // 6.1810 home // Last updated Monday, 05-Dec-2022 14:59:00 EST