WARNING: this is the 2016 web site. You can find the current 6.828 web site here.

MondayTuesday WednesdayThursday Friday
sep 5 sep 6
Reg Day
sep 7
LEC 1: Operating systems (html) (handouts: xv6 source, xv6 book)
Preparation: Unix intro
Assignment: HW: Boot xv6
Assignment: HW: shell
Assignment: Lab 1: C, Assembly, Tools, and Bootstrapping
sep 8 sep 9
sep 12
LEC 2: PC hardware and x86 programming slides, notes
Preparation: Read Bootstrap/PC hardware appendices and the related xv6 source files
sep 13 sep 14
LEC 3: C and gdb (pointers example)
Homework 1 due: Boot xv6
Preparation: Read 2.9 (Bitwise operators), 5.1 (Pointers and Addresses) through 5.5(Character Pointers and Functions) and 6.4 (pointers to structures) in K&R
Assignment: Lab 2: Memory management
sep 15
DUE: Lab 1
sep 16
sep 19
LEC 4: Shell & OS organization
Preparation: Read chapter 0 of the xv6 book.
Homework 2 due: shell
sep 20 sep 21
LEC 5: Isolation mechanisms
Preparation: Read "Chapter 1: The first process" and the related xv6 source files
Assignment: HW: system calls
sep 22 sep 23
Student holiday
sep 26
LEC 6: Virtual memory (handouts: page table translation and registers)
Preparation: Read "Chapter 2: Page Tables"
Homework 3 due: systems calls
Assignment: HW lazy page allocation
sep 27 sep 28
LEC 7: Using virtual memory (handout: JOS virtual memory layout)
Homework 4 due: HW lazy page allocation
Assignment: HW xv6 CPU alarm
Assignment: Lab 3: User-Level Environments
sep 29
DUE: Lab 2
sep 30
oct 3
LEC 8: System calls, interrupts, exceptions (handouts: IDT)
Preparation: Read "Traps, interrupts, and drivers" and the related xv6 source files
Homework 5 due: HW xv6 CPU alarm
oct 4 oct 5
Hacking day
Assignment: HW multithreaded programming
oct 6
DUE: Lab 3 (Part A)
oct 7
oct 10 - oct 11
Columbus Day
oct 12
LEC 9: Multiprocessors and locking
Preparation: Read "Locking" with spinlock.c and skim mp.c
Homework 6 due: HW multithreaded programming
Assignment: HW xv6 locks
Assignment: Lab 4: Preemptive Multitasking
oct 13
DUE: Lab 3 (Part B)
oct 14
oct 17
LEC 10: Processes and switching
Preparation: Read "Scheduling" up to "Sleep and wakeup" with proc.c, swtch.S, and sys_fork (in sysproc.c)
Homework 7 due: HW xv6 locks
Assignment: HW uthreads
oct 18 oct 19
LEC 11: sleep&wakeup
Preparation: Read remainder of "Scheduling"; read remainder of proc.c and sys_wait, sys_exit, sys_kill
Homework 8 due: HW uthreads
Assignment: HW barrier
oct 20
DUE: Lab 4 (Part A)
oct 21
oct 24
LEC 12: File systems
Preparation: Read bio.c, fs.c, sysfile.c, file.c and "File system" except for the logging sections
Homework 9 due: HW barrier
Assignment: HW big files
oct 25 oct 26
LEC 13: Crash recovery
Preparation: Read log.c and the logging sections of "File system"
Homework 10 due: HW big files
Assignment: HW crash
Assignment: Lab 6: Networking
Assignment: Lab 7: Final project
oct 27
DUE: Lab 4 (Part B)
oct 28
oct 31
QUIZ #1 location&time: walker (1-2:30p)
open book and notes
scope: Lectures 1 through 13, HW 1 through 10, labs 1 through 3
practice: previous years' quizzes.
nov 1 nov 2
Hacking day
Assignment: Lab 5: File system, spawn, and sh
nov 3
DUE: Lab 4 (Part C)
nov 4
DUE: Piazza discussion final project
nov 7
LEC 14: File system performance and fast crash recovery
Homework 11 due: HW crash
Preparation: Read Journaling the Linux ext2fs Filesystem (1998)
nov 8 nov 9
LEC 15: OS Organization
Preparation: Read Exokernel (1995)
Homework 12 due: HW exokernel question
nov 10
DUE: Final project proposal (if doing project)
nov 11
Veteran's Day
nov 14
LEC 16: Language/OS co-design
Preparation: Read Singularity (2007)
Homework 13 due: Singularity question
nov 15 nov 16
Hacking day
nov 17
DUE: Lab 5
nov 18
nov 21
LEC 17: Scalable locks (code)
Preparation: Read Non-scalable locks paper (2012)
Homework 14 due: ticket lock question
nov 22 nov 23
Hacking day
nov 24 - nov 25
nov 28
LEC 18: Scaling OSes
Preparation: Read RadixVM (2013)
Homework 15 due: refcache question
DUE: Email us a status update on your final project (a paragraph)
nov 29 nov 30
LEC 19: Virtual Machines
Preparation: Read Dune: Safe User-level Access to Privileged CPU Features (2012)
Homework 16 due: Dune question
dec 1 dec 2
dec 5
LEC 20: High-performance networking
Preparation: Read IX: A Protected Dataplane Operating System for High Throughput and Low Latency (2014)
Homework 17 due: IX question
dec 6 dec 7
Hacking day
dec 8
DUE: Lab 6 (networking) or lab 7 (Final project)
dec 9
dec 12
LEC 21: Certified systems (nodup.v, slides)
Preparation: Read Using Crash Hoare Logic for Certifying the FSCQ File System (2015)
Homework 18 due: FSCQ question
dec 13 dec 14
LEC 22: demos in class
Project sign-offs
dec 15 dec 16
dec 19 dec 20 dec 21
Finals Period
Time: 1:30-4:30p Location: Johnson Track (W35)
open book and notes
scope: Lectures 14 through last lecture, labs 4 and 5
practice: previous years' quizzes.
dec 22 dec 23

Questions or comments regarding 6.828? Send e-mail to the TAs at 6828-staff@lists.csail.mit.edu.

Creative Commons License Top // 6.828 home // Last updated Friday, 29-Sep-2017 12:13:42 EDT