| Monday | Tuesday | Wednesday | Thursday | 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 ADD DATE  | 
||
| 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 DROP DATE 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 Thanksgiving  | 
||||||
| 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 LAST DAY OF CLASSES 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 6S081@lists.csail.mit.edu.
 Top //
S6.081 home // 
Last updated Wednesday, 09-Dec-2020 18:30:26 EST