Schedule
27 August: Introduction
29 August: What is an Operating System?
3 September: Getting Started with Rust
5 September: Getting to the First Billion Andoid Installs
10 September: Processes
10 September: Due: PS1: zhttpo Web Server
12 September: Shells
17 September: PS2 Work Day
19 September: Memory Management
24 September: Pointers in Rust
26 September: Multi-Tasking
1 October: Scheduling
3 October: Smarter Scheduling
8 October: Synchronization
10 October: Mutual Exclusion, Trust
14 October: Due: Midterm
15 October: Reading Break
17 October: Web Server Scheduling
22 October: Benchmarking
24 October: Access Control
28 October: Due: PS3: Zhtta Web Server
29 October: Trick-or-Treat Protocols
31 October: Karsten Nohl: SIM Card Exploitation
4 November: Due: Project Proposals
5 November: Making a Process
7 November: System Calls
12 November: Virtual Memory
14 November: Fork in Depth
18 November: Due: Project Design Reviews
19 November: Yuchen Zhou: Authentication Protocols
22 November: Storage Systems
26 November: Tom Pinckney: Scalining eBay
28 November: Thanksgiving Break
3 December: Invent the Future
5 December: Project Demos