Preliminary calendar, subject to change!
Calendar
| Date | Topic | Slides | Assignment | |
|---|---|---|---|---|
| Aug 31 | BIOS and Boot | [[slides]] | [[pdf]] | Shell |
| Sep 02 | System Calls | [[slides]] | [[pdf]] | |
| Sep 7 | Labor Day | |||
| Sep 09 | Process Review + Backend Subsystems | [[slides]] | [[pdf]] | Shell Code Review |
| Sep 14 | Process Subsystem Organization (Part 1) | [[slides]] | [[pdf]] | Procs + KThreads |
| Sep 16 | Process Subsystem Organization (Part 2) | [[slides]] | [[pdf]] | |
| Sep 21 | Context Switching + Interrupts | [[slides]] | [[pdf]] | |
| Sep 23 | Synchronization + Scheduling | [[slides]] | [[pdf]] | |
| Sep 28 | File Systems Review + FS Back End | [[slides]] | [[pdf]] | |
| Sep 30 | FS + Procs | [[slides]] | [[pdf]] | Procs Code Review |
| Oct 5 | FS + Procs (cont.) | [[slides]] | [[pdf]] | File System |
| Oct 07 | Disk Layouts | [[slides]] | [[pdf]] | |
| Oct 12 | Case Study: FFS, Ext3, ZFS, etc… | [[slides]] | [[pdf]] | |
| Oct 14 | VFS | [[slides]] | [[pdf]] | |
| Oct 19 | Fall Break | |||
| Oct 21 | Memory Management Subsystems | [[slides]] | [[pdf]] | File System Code Review |
| Oct 26 | Physical Memory Management | [[slides]] | [[pdf]] | Memory Management |
| Oct 28 | Virtual Memory Management | [[slides]] | [[pdf]] | |
| Nov 2 | TLBs and Page Faults | [[slides]] | [[pdf]] | |
| Nov 04 | VM + Procs (CoW + fork, etc) | [[slides]] | [[pdf]] | |
| Nov 9 | Case Study: Dynamically Loaded Libraries | [[slides]] | [[pdf]] | |
| Nov 11 | Device Management + Drivers | [[slides]] | [[pdf]] | Memory Management Code Review |
| Nov 16 | I/O + Network | [[slides]] | [[pdf]] | Drivers |
| Nov 18 | NFS | [[slides]] | [[pdf]] | |
| Nov 23 | Hacking Our OS | [[slides]] | [[pdf]] | |
| Nov 25 | Thanksgiving | |||
| Nov 30 | Security in OS Subsystems | [[slides]] | [[pdf]] | |
| Dec 02 | Performance Engineering | [[slides]] | [[pdf]] | Drivers Code Review |
| Dec 7 | OS-less systems | [[slides]] | [[pdf]] | Put it all together! |
| Dec 09 | Course In Review | [[slides]] | [[pdf]] |