Monday | Tuesday |
Wednesday | Thursday |
Friday |
sep 3 |
sep 4
Reg Day |
sep 5
LEC 1: Operating systems (handouts: xv6 source, xv6 book)
Preparation: Look over the xv6 book and source. We will cover chapter 0 today.
In class: shell exercises
Assignment: Lab 1: C, Assembly, Tools, and Bootstrapping |
sep 6 |
sep 7 |
sep 10
LEC 2: PC hardware and x86 programming slides, notes
Preparation: Read Bootstrap/PC hardware appendices and the related xv6 source files
In class: Boot xv6 exercise |
sep 11 |
sep 12
LEC 3: Overview of major internals, system call interface
Preparation: Read "Chapter 1: The first process" and the related xv6 source files
In class: trace system calls; add halt
Assignment: Lab 2: Memory management |
sep 13
DUE: Lab 1 |
sep 14 |
sep 17
LEC 4: Virtual memory (handouts: page table translation and registers)
Preparation: Read "Chapter 2: Page Tables"
In class: lazy page allocation |
sep 18 |
sep 19
LEC 5: Interrupts, exceptions (handouts: IDT)
Preparation: Read "Traps, interrupts, and drivers" and the related xv6 source files
In class: xv6 CPU alarm |
sep 20 |
sep 21
Student holiday |
sep 24
LEC 6: Multiprocessors and locking
Preparation: Read "Locking" with spinlock.c and skim mp.c
In class: locks |
sep 25 |
sep 26
LEC 7: Processes and switching
Preparation: Read "Scheduling" up to "Sleep and wakeup" with proc.c, setjmp.S, and sys_fork (in sysproc.c)
In class: uthreads
Assignment: Lab 3: User-Level Environments |
sep 27
DUE: Lab 2 |
sep 28 |
oct 1
LEC 8: sleep&wakeup
Preparation: Read remainder of "Scheduling"; read remainder of proc.c and sys_wait, sys_exit, sys_kill
In class: barrier |
oct 2 |
oct 3
LEC 9: File systems
Preparation: Read bio.c, fs.c, sysfile.c, file.c and "File system" except for the logging sections
In class: big files |
oct 4
DUE: Lab 3 (Part A) |
oct 5
ADD DATE |
oct 8 - oct 9
Columbus Day |
oct 10
LEC 10: Crash recovery
Preparation: Read log.c and the logging sections of "File system"
In class: crash
Assignment: Lab 4: Preemptive Multitasking |
oct 11
DUE: Lab 3 (Part B) |
oct 12 |
oct 15
LEC 11: File system performance and fast crash recovery
Preparation: Read Journaling the Linux ext2fs Filesystem; do Homework 11 |
oct 16 |
oct 17
LEC 12: Project introduction and discussion
Preparation: Read project assignment |
oct 18
DUE: Lab 4 (Part A) |
oct 19 |
oct 22
LEC 13: OS Organization
Preparation: Read Exokernel; do Homework 13 |
oct 23 |
oct 24
LEC 14: In-class hacking session |
oct 25
DUE: Lab 4 (Part B) |
oct 26 |
oct 29
Lecture cancelled due to Hurricane Sandy |
oct 30 |
oct 31
LEC 15: Project conferences
Assignment: Lab 5: Spawn and shell |
nov 1
DUE: Lab 4 (Part C) |
nov 2 |
nov 5
LEC 16: Project conferences |
nov 6 |
nov 7
LEC 17: Language/OS co-design
Preparation: Read Singularity; no homework |
nov 8
DUE: Lab 5 |
nov 9 |
nov 12
Veteran's Day |
nov 13 |
nov 14
QUIZ open book and notes scope: Lectures 1 through 17, labs 1 through 5 practice: previous years' quizzes. |
nov 15 |
nov 16 |
nov 19
LEC 18: Scalable locks (code)
Preparation: Read Non-scalable locks paper; do Homework 18 |
nov 20 |
nov 21
DROP DATE
LEC 19: Project conferences
DUE: initial project demo |
nov 22 - nov 23
Thanksgiving |
nov 26
LEC 20: Project conferences |
nov 27 |
nov 28
LEC 21: Lock-free coordination
Preparation: Read Linux Scalability; do Homework 21 |
nov 29 |
nov 30 |
dec 3
LEC 22: Virtual Machines
Preparation: Read Software vs Hardware Virtualization; do Homework 22 |
dec 4 |
dec 5
LEC 23: No lecture; work on final projects |
dec 6 |
dec 7 |
dec 10
LEC 24: demos in class
Project conferences |
dec 11 |
dec 12
LAST DAY OF CLASSES
LEC 25: demos in class
Project conferences |
dec 13 |
dec 14 |