===== Schedule/Syllabus ====== ^ Week ^ Date ^ Topic ^ Background reading ^ | Week 1 | T 4/4 | Course introduction \\ [[.:notes:lec1|Scribe notes]] | Ch. 3 & 4 | | | R 4/6 | OS overview: bootstrapping & files \\ [[.:notes:lec2|Scribe notes]] | Ch. 2.2-2.3, 3.1-3.2, 6.1-6.4 | | Week 2 | T 4/11 | Processes & process implementation \\ [[.:notes:lec3|Scribe notes]] | Ch. 6.1-6.4 | | | R 4/13 | Processes & threads \\ [[.:notes:lec4|Scribe notes]] | Ch. 6.5-6.8 | | | F 4/14 | **Lab 1A checkpoint due** | | | Week 3 | T 4/18 | Threads & signals \\ [[.:notes:lec5|Scribe notes]] | Ch. 7 | | | R 4/20 | Scheduling \\ [[.:notes:lec6|Scribe notes]] | Ch. 7 | | Week 4 | T 4/25 | Real-time scheduling, Synchronization I \\ [[.:notes:lec7|Scribe notes]] | Ch. 8 | | | R 4/27 | Building a lock & semaphores \\ [[.:notes:lec8|Scribe notes]] | Ch. 8-9 | | | F 4/28 | **Lab 1B due** | | | Week 5 | T 5/2 | Synchronization objects \\ [[.:notes:lec9|Scribe notes]] | Ch. 9 | | | R 5/4 | Deadlock & I/O interactions \\ [[.:notes:lec10|Scribe notes]] | Ch. 10, Ch. 4 & 5 | | Week 6 | T 5/9 | **Midterm** | | | | R 5/11 | Memory allocation \\ [[.:notes:lec11|Scribe notes]] | Ch. 4.4-4.5, 11 | | | F 5/12 | **Lab 2 due** | | | Week 7 | T 5/16 | Virtual memory I \\ [[.:notes:lec12|Scribe notes]] | Ch. 12.1-12.4 | | | R 5/18 | Virtual memory II, file systems I \\ [[.:notes:lec13|Scribe notes]] | Ch. 12.5, 12.7, 13.1-13.3, 5.5 | | Week 8 | T 5/23 | File systems II \\ [[.:notes:lec14|Scribe notes]] | Ch. 13.5-13.7, 5.5 | | | R 5/25 | File system consistency \\ [[.:notes:lec15|Scribe notes]] | None | | | F 5/26 | **Lab 3 due** | | | Week 9 | T 5/30 | RAID, Distributed systems I \\ [[.:notes:lec16|Scribe notes]] | Ch. 15 (background), 17-17.3 | | | R 6/1 | Distributed systems II \\ [[.:notes:lec17|Scribe notes]] | Ch. 16 | | Week 10 | T 6/6 | Security I \\ [[.:notes:lec18|Scribe notes]] | | | | R 6/8 | Security II \\ [[.:notes:lec19|Scribe notes]] | | | | F 6/9 | **Lab 4 due** | | | Finals | W 6/14 | **Final, 3-6pm, Young Hall CS76** | |