Appearance
Links to notes, videos etc. on future days are copies of materials from the 2023 version of 6.1810. 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.
Week of Sep 2
- Mon, Sep 2: (Holiday) Labor Day
- Tue, Sep 3: (Special) Reg Day
- Wed, Sep 4:
- LEC 1 (rtm): Introduction (handouts: xv6 book)
- Preparation: Read chapter 1 (for your amusement: Unix)
- Assignment: Lab util: Unix utilities
- Thu, Sep 5:
- Fri, Sep 6:
Week of Sep 9
- Mon, Sep 9:
- Tue, Sep 10:
- Wed, Sep 11:
- 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 1 due: Question
- Assignment: Lab syscall: System calls
- Thu, Sep 12: DUE: Lab util
- Fri, Sep 13:
Week of Sep 16
- Mon, Sep 16:
- 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 2 due: Question
- Tue, Sep 17:
- Wed, Sep 18:
- LEC 5 (rtm): System call entry/exit
- Preparation: Read Chapter 4, except 4.6 and kernel/riscv.h, kernel/trampoline.S, and kernel/trap.c
- Homework 3 due: Question
- Assignment: Lab pgtbl: Page tables
- Thu, Sep 19: DUE: Lab syscall
- Fri, Sep 20:
Week of Sep 23
- Mon, Sep 23:
- LEC 6 (TAs): GDB Calling conventions
- Preparation: Read Calling Convention
- Tue, Sep 24:
- Wed, Sep 25:
- LEC 7 (fk): Page faults
- Preparation: Read Section 4.6
- Homework 4 due: Question
- Assignment: Lab traps: Traps
- Thu, Sep 26: DUE: Lab pgtbl
- Fri, Sep 27:
Week of Sep 30
- Mon, Sep 30:
- Tue, Oct 1:
- Wed, Oct 2:
- LEC 9 (rtm): Device drivers, 16550.pdf
- Preparation: Read Chapter 5 and kernel/kernelvec.S, kernel/plic.c, kernel/console.c, kernel/uart.c, kernel/printf.c
- Homework 6 due: Question
- Assignment: Lab cow: Copy-on-write fork
- Thu, Oct 3: DUE: Lab traps
- Fri, Oct 4: (Special) ADD DATE
Week of Oct 7
- Mon, Oct 7:
- LEC 10 (fk): Locking
- Preparation: Read "Locking" with kernel/spinlock.h and kernel/spinlock.c
- Homework 7 due: Question
- Tue, Oct 8:
- Wed, Oct 9:
- LEC 11 (rtm): Scheduling 1
- Preparation: Read "Scheduling" through Section 7.4, and kernel/proc.c, kernel/swtch.S
- Homework 8 due: Question
- Thu, Oct 10:
- Fri, Oct 11:
Week of Oct 14
- Mon, Oct 14: (Holiday) Indigenous Peoples Day
- Tue, Oct 15:
- Wed, Oct 16:
- LEC 12 (rtm): Coordination, code
- Preparation: Read remainder of "Scheduling", and corresponding parts of kernel/proc.c, kernel/sleeplock.c
- Homework 9 due: Question
- Thu, Oct 17: DUE: Lab cow
- Fri, Oct 18:
Week of Oct 21
- Mon, Oct 21:
- LEC 13 (fk): File systems (slides)
- Preparation: Read kernel/bio.c, kernel/fs.c, kernel/sysfile.c, kernel/file.c and "File system" (except for the logging sections)
- Homework 10 due: Question
- Tue, Oct 22:
- Wed, Oct 23:
- Midterm: in class during class hours, open book and notes but closed network.
- Scope: Lectures 1 through 12, labs through lab cow.
- Practice: previous quizzes.
- Assignment: Lab net: Network driver
- Thu, Oct 24:
- Fri, Oct 25:
Week of Oct 28
- Mon, Oct 28:
- LEC 14 (fk): Crash recovery (slides)
- Preparation: Read kernel/log.c and the logging sections of the "File system" chapter
- Homework 11 due: Question
- Tue, Oct 29:
- Wed, Oct 30:
- LEC 15 (rtm): File system performance and fast crash recovery
- Preparation: Read Journaling the Linux ext2fs Filesystem (1998)
- Homework 12 due: Question
- Thu, Oct 31:
- Fri, Nov 1:
Week of Nov 4
- Mon, Nov 4: (Holiday) Hacking day: no class meeting; work on the lab
- Assignment: Lab lock: Parallelism/locking
- Tue, Nov 5: DUE: Lab net
- Wed, Nov 6: (Holiday) Hacking day: no class meeting; work on the lab
- Thu, Nov 7:
- Fri, Nov 8:
Week of Nov 11
- Mon, Nov 11: (Holiday) Veteran's Day
- Tue, Nov 12:
- Wed, Nov 13:
- LEC 16 (fk): Virtual memory for applications, FAQ (sqrt example)
- Preparation: Read Virtual Memory Primitives for User Programs (1991)
- Homework 13 due: Question
- Assignment: Lab fs: File system
- Thu, Nov 14: DUE: Lab lock
- Fri, Nov 15:
Week of Nov 18
- Mon, Nov 18:
- LEC 17 (rtm): OS Organization, FAQ
- Preparation: Read The Performance of micro-Kernel-Based Systems (1997)
- Homework 14 due: Question
- Tue, Nov 19:
- Wed, Nov 20:
- DROP DATE
- LEC 18 (rtm): Virtual Machines, FAQ
- Preparation: Read Dune: Safe User-level Access to Privileged CPU Features (2012)
- Homework 15 due: Question
- Assignment: Lab mmap: Mmap
- Thu, Nov 21: DUE: Lab fs
- Fri, Nov 22:
Week of Nov 25
- Mon, Nov 25:
- LEC 19 (fk): Kernels and HLL, FAQ
- Preparation: Read the RedLeaf paper (2020)
- Homework 16 due: Question
- Tue, Nov 26:
- Wed, Nov 27: (Holiday) Hacking day: no class meeting; work on the lab
- Thu, Nov 28 - Fri, Nov 29: (Holiday) Thanksgiving
Week of Dec 2
- Mon, Dec 2:
- LEC 20 (rtm): Networking
- Preparation: Read Receive Livelock (1996), FAQ
- Homework 17 due: Question
- Tue, Dec 3:
- Wed, Dec 4: (Holiday) Hacking day: no class meeting; work on the lab
- Thu, Dec 5:
- Fri, Dec 6: DUE: Lab mmap
Week of Dec 9
- Mon, Dec 9:
- LEC 21 (fk): Meltdown, FAQ
- Preparation: Read Meltdown (2018)
- Homework 18 due: Question
- Tue, Dec 10:
- Wed, Dec 11:
- LAST DAY OF CLASSES
- LEC 22 (rtm): Multi-Core scalability and RCU
- Preparation: Read RCU paper (2013), FAQ
- Homework 19 due: Question
- Thu, Dec 12:
- Fri, Dec 13:
Week of Dec 16 - Dec 20
- Mon, Dec 16 - Fri, Dec 20:
- Final in finals week: Dec 19, DUPONT, 9am-11am
- Open book and notes but closed network
- Scope: Lectures 13 through 22, labs net through mmap
- Practice: previous quizzes.