Printing tip: to save trees, you can print several PDF slides to a page. Suppose the slides you download are l01.pdf. You can run the the following command on Unix to generate a new PDF file l01x4.pdf with 4 slides in one page.
pdftops l01.pdf - | psnup -pletter -l -4 | ps2pdf - > l01x4.pdf
We put a tentative syllabus here to give you an idea what future may bring. This syllabus is subject to change as the course progresses.
| # | Day | Date | Topic | Assignment |
|---|---|---|---|---|
| 1 | Wed | 1/19 | Introduction and Logistics | Homework 1 out |
| 2 | Mon | 1/24 | OS Overview and History | Read MOS Ch 1, xv6 unix.pdf |
| 3 | Wed | 1/26 | PC Hardware and x86 Programming | Read MOS Ch 1.3, xv6 boot.pdf and related source files |
| 4 | Mon | 1/31 | Processes and Address Spaces | Read MOS Ch 2.1, 3.1, 3.2 xv6 proc.c, and swtch.S |
| 5 | Wed | 2/2 | Segmentation and Paging | Read MOS Ch 3.3, 3.5, 3.7, xv6 mem.pdf, proc.c, and vm.c, Homework 1 due, Homework 2 out |
| 6 | Mon | 2/7 | Interrupts and System Calls | Read MOS Ch 1.6, Ch 5.1.5, xv6 trap.pdf and related source files |
| 7 | Wed | 2/9 | xv6 process operations | xv6 exec.pdf |
| 8 | Mon | 2/14 | Threads and Synchronization | Read MOS Ch 2.2, xv6 lock.pdf with spinlock.c, and skim mp.c |
| 9 | Wed | 2/16 | Locks | Read MOS Ch 2.3, xv6 sched.pdf "Sleep and wakeup," Homework 2 due, Homework 3 out |
| 10 | Mon | 2/21 | Semaphores and Monitors | Read MOS Ch 2.3, Ch 2.5 |
| 11 | Wed | 2/23 | Concurrency Errors | Read Eraser |
| 12 | Mon | 2/28 | Scheduling | Read MOS Ch 2.4 |
| 13 | Wed | 3/2 | Advanced Scheduling | Read xv6 sched.pdf with proc.c, and sysproc.c |
| 14 | Mon | 3/7 | Midterm review | Homework 3 due, Homework 4 out |
| 15 | Wed | 3/9 | Midterm exam | |
| 16 | Mon | 3/14 | No class, spring break | |
| 17 | Wed | 3/16 | No class, spring break | |
| 18 | Mon | 3/21 | Dynamic Memory Allocation | Read MOS Ch 3.1-3.3, 3.5-3.7, xv6 vm.c |
| 19 | Wed | 3/23 | Virtual Memory | Read MOS Ch 3.3, Ch 3.4 |
| 20 | Mon | 3/28 | Disks | Read MOS Ch 5.4, xv6 disk.pdf with fs.c, bio.c, and ide.c, Homework 4 due, Homework 5 out |
| 21 | Wed | 3/30 | RAID | Read RAID |
| 22 | Mon | 4/4 | File Systems | Read MOS Ch 4, xv6 fsdata.pdf, fscall.pdf with fs.c, sysfile.c, and file.c |
| 23 | Wed | 4/6 | xv6 File and Disk Systems | Read xv6 fsdata.pdf, fscall.pdf with fs.c, sysfile.c, and file.c |
| 24 | Mon | 4/11 | File System Examples | Read FFS and LFS |
| 25 | Wed | 4/13 | Linux File Systems and Journaling | Read ext3 journaling, Homework 5 due, Homework 6 out |
| 26 | Mon | 4/18 | Storage System Errors | Read FiSC and eXplode |
| 27 | Wed | 4/20 | Virtual Machines | Read software vs hardware virtualization |
| 28 | Mon | 4/25 | AMD slides, Kernels for Multicore | Read multikernel |
| 29 | Wed | 4/27 | Stable Deterministic Multithreading | Read Tern |
| 30 | Mon | 5/2 | Final review | Homework 6 due |
Final exam: 4:10-7:00pm, Monday, 5/9