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 | Jan 18 | Introduction and Logistics | Homework 1 out |
2 | Mon | Jan 23 | OS Overview and History | Read MOS Ch 1, xv6 Ch 0 |
3 | Wed | Jan 25 | PC Hardware and x86 Programming | Read MOS Ch 1.3, xv6 Appendix B and related source files |
4 | Mon | Jan 30 | Processes and Address Spaces | Read MOS Ch 2.1, 3.1, 3.2, xv6 proc.c, and swtch.S |
5 | Wed | Feb 1 | Segmentation and Paging | Read MOS Ch 3.3, 3.5, 3.7, xv6 Ch 1, proc.c, and vm.c, Homework 1 due, Homework 2 out |
6 | Mon | Feb 6 | Interrupts and System Calls | Read MOS Ch 1.6, Ch 5.1.5, xv6 Ch 2 and related source files |
7 | Wed | Feb 8 | xv6 process operations | xv6 Ch1 |
8 | Mon | Feb 13 | Threads and Synchronization | Read MOS Ch 2.2, xv6 Ch 3 and spinlock.c, and skim mp.c |
9 | Wed | Feb 15 | Locks | Read MOS Ch 2.3, xv6 Ch 4 "Sleep and wakeup," Homework 2 due, Homework 3 out |
10 | Mon | Feb 20 | Semaphores and Monitors | Read MOS Ch 2.3, Ch 2.5 |
11 | Wed | Feb 22 | Concurrency Errors | Read Eraser |
12 | Mon | Feb 27 | Scheduling | Read MOS Ch 2.4 |
13 | Wed | Feb 29 | Advanced Scheduling | Read xv6 Ch 4 with proc.c, and sysproc.c |
14 | Mon | Mar 5 | Midterm review | Homework 3 due, Homework 4 out |
15 | Wed | Mar 7 | Midterm exam | |
16 | Mon | Mar 12 | No class, spring break | |
17 | Wed | Mar 14 | No class, spring break | |
18 | Mon | Mar 19 | Dynamic Memory Allocation | Read MOS Ch 3.1-3.3, 3.5-3.7, xv6 vm.c |
19 | Wed | Mar 21 | Virtual Memory | Read MOS Ch 3.3, Ch 3.4 |
20 | Mon | Mar 26 | Disks | Read MOS Ch 5.4, xv6 Ch 5 with fs.c, bio.c, and ide.c, Homework 4 due, Homework 5 out |
21 | Wed | Mar 28 | RAID | Read RAID |
22 | Mon | Apr 2 | File Systems | Read MOS Ch 4, xv6 Ch 5 with fs.c, sysfile.c, and file.c |
23 | Wed | Apr 4 | xv6 File and Disk Systems | Read xv6 Ch 5 with fs.c, sysfile.c, and file.c |
24 | Mon | Apr 9 | File System Examples | Read FFS and LFS |
25 | Wed | Apr 11 | Linux File Systems and Journaling | Read ext3 journaling, Homework 5 due, Homework 6 out |
26 | Mon | Apr 16 | Storage System Errors | Read FiSC and eXplode |
27 | Wed | Apr 18 | Virtual Machines | Read software vs hardware virtualization |
28 | Mon | Apr 23 | AMD slides, Kernels for Multicore | Read multikernel |
29 | Wed | Apr 25 | Stable Deterministic Multithreading | Read Tern |
30 | Mon | Apr 30 | Final review | Homework 6 due |
Final exam: 4:10-7:00pm, Monday, May 7
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