MIT 6.S081 – Operating System Engineering

92
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


DROP DATE


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


LAST DAY OF CLASSES dec 10

Questions or comments regarding S6.081? Send e-mail to the course staff at
6S081@lists.csail.mit.edu.

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 Knowasiak.com
Read More

Vanic
WRITTEN BY

Vanic

“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