This schedule should be regarded as a plan that will certainly change during the course of the semester. The set of topics more or less matches what I expect to cover, and I expect to cover them in roughly the order listed, but might have to rearrange things in order to try to keep lecture topics in advance of the homework assignments that relate to them.
My rough plan for the homework assignments is as follows:
HW1: xv6 basic operation; interrupt handling; system calls
HW2: xv6 more advanced operation; address translation; process address space layout; device drivers
HW3: CPU scheduling
HW4: Filesystems
HW5: Virtual memory
NOTE: Chapter numbers listed below are for Anderson and Dahlin, Operating Systems: Principles and Practice (2nd edition) and the xv6 book, rev. 10. The xv6 book is also an excellent source of general operating systems material, as well as being the primary reference for the homework assignments. The final exam questions will not necessarily be limited just to material explicitly covered in lectures, but will likely also span general operating systems knowledge that you would be expected to have acquired by having read the related sections of these texts.
I will upload the lecture slides to Piazza as the semester progresses.
Class | Date | Day | Topic | Anderson & Dahlin | xv6 Book | HW Out | HW Due |
1 | Aug 27 | T | Administrative, Introduction | HW0 out | |||
2 | Aug 29 | Th | History of Operating Systems, Processes | 1.1-1.3 | |||
3 | Sep 3 | T | OS Structure, Computer Architecture | 2.1 | 0, 1 | ||
4 | Sep 5 | Th | Intel x86 Architecture Specifics | 2.2-2.5 | A | HW1 out | |
Sep 9 | M | Add/drop deadline | HW0 due | ||||
5 | Sep 10 | T | xv6 Overview | 2.6-2.8, 3.1-3.3, 4.1-4.6 | 3 | ||
6 | Sep 12 | Th | Race Conditions, Synchronization | 5.1-5.4 | |||
7 | Sep 17 | T | Synchronization, Deadlocks | 5.5-5.9, 6.5 | |||
8 | Sep 19 | Th | Synchronization in xv6 | 4, 5 | |||
Sep 22 | S | HW2 out | |||||
9 | Sep 24 | T | Paged Memory Management | 8.1-8.2 | 2 | ||
10 | Sep 26 | Th | Intel 80386/xv6 Memory Management Specifics | HW1 due | |||
11 | Oct 1 | T | |||||
12 | Oct 3 | Th | Device drivers | 3 | |||
13 | Oct 8 | T | CPU Scheduling | 7.1-7.8 | |||
14 | Oct 10 | Th | CPU Scheduling | ||||
Oct 15 | T | FALL BREAK -- NO CLASS | |||||
15 | Oct 17 | Th | Disk Scheduling | 12.1-12.3 | |||
Oct 20 | S | HW3 out | HW2 due | ||||
16 | Oct 22 | T | Filesystems | 11.1-11.4 | |||
17 | Oct 24 | Th | Unix filesystem concepts | 13.1-13.5 | |||
Oct 25 | F | Last day to withdraw | |||||
18 | Oct 29 | T | xv6 filesystem | 6 | |||
19 | Oct 31 | Th | BSD FFS, LFS | ||||
Nov 3 | S | HW4 out | HW3 due | ||||
20 | Nov 5 | T | |||||
21 | Nov 7 | Th | Virtual Memory | 8.3-8.5 | |||
22 | Nov 12 | T | Virtual Memory | 9.1-9.8 | |||
23 | Nov 14 | Th | Virtual Memory | ||||
Nov 17 | S | HW5 out | HW4 due | ||||
24 | Nov 19 | T | |||||
25 | Nov 21 | Th | |||||
26 | Nov 26 | T | |||||
Nov 27 | Th | THANKSGIVING BREAK -- NO CLASS | |||||
27 | Dec 3 | T | xv6 Bootstrapping and Initialization | B | |||
28 | Dec 5 | Th | |||||
Dec 6 | F | HW5 due | |||||
F | Dec 19 | Th | FINAL EXAM 8:00AM-10:30AM |