MIT 6.S081 – Operating System Engineering

MIT 6.S081 – Operating System Engineering

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.

Monday Tuesday Wednesday Thursday 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

ADD DATE 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

Thanksgiving 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


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

NOW WITH OVER +8500 USERS. people can Join Knowasiak for free. Sign up on
Read More



“Simplicity, patience, compassion.
These three are your greatest treasures.
Simple in actions and thoughts, you return to the source of being.
Patient with both friends and enemies,
you accord with the way things are.
Compassionate toward yourself,
you reconcile all beings in the world.”
― Lao Tzu, Tao Te Ching