Week
|
Topic |
Reading* |
Notes** |
Week 1 (9/5) |
Introduction: course overview |
|
|
|
OS history, general concepts, taxonomy | ||
Week 2 (9/12) |
System primer
overview: kernel modules, device drivers, system calls and
ioctls |
Chapter 1 |
|
|
Computer-System Structures: machine
booting, interrupts, I/O, DMA, storage etc Hardware-related protection issues: CPU, memory, I/O protection etc |
Chapter 2 |
|
Week 3 (9/19) |
OS structure: monoliths, microkernels, virtual machines etc | (Background:
Bovet & Cesati + Intel manuals) Further reading (just a sampling as there are many):
|
|
|
The system interface: system calls and how
they work Overview of process, memory, file and I/O mgmt etc |
||
Week 4 (9/26) |
Processes:
address spaces, run-states Processes versus threads |
Chapter 3 |
|
|
Discussion of grub, bootloaders, linkers, BIOS and x86 background (real versus protected mode) | ||
Week 5 (10/3) |
Discussion of MEMOS simple OS | Chapter 4 Background reading: Understanding the Linux Kernel (Bovet and Cesati) |
|
|
Discussion of
Quest OS boot procedure Thread concepts |
||
Week 6 (10/10) |
Substitute Monday Schedule of Classes |
|
|
|
Scheduling - basic algorithms Coroutines |
Chapter 6 | |
Week 7 (10/17) |
Scheduling - real-time algorithms/analysis |
Additional documentation on main web page |
|
Proportional share scheduling | |||
Week 8 (10/24) |
Synchronization - critical sections, mutexes, semaphores, hardware instructions | Chapter 5 |
|
|
Synchronization - classic problems |
|
|
Week 9 (10/31) |
Discussion of FIFOS assignment |
|
|
Monitors, deadlocks -- basic conditions and solutions |
Chapter 7 | ||
Week 10 (11/7) |
Memory Management - swapping, swap files/partitions | Chapter 8 |
|
|
Memory Management (continued)... | ||
Week 11 (11/14) |
Virtual Memory | Chapter 9 |
|
|
Virtual Memory -- page replacement | ||
Week 12 (11/21) |
Discussion of DISCOS assignment Filesystem Implementation |
|
|
|
Thanksgiving Recess |
Chapters 10-13 |
|
Week 13 (11/28) |
Buddy Memory / Slab Allocation | Chapters 16-18 |
|
|
Filesystems continued |
|
|
Week 14 (12/5) |
Miscellaneous Topics: Quest and Quest-V |
|
|
|
Miscellaneous Topics: VCPU Scheduling in
Quest |
||
Week 15 (12/12) |
Miscellaneous
Topics: Distributed Systems, DriveOS |
|
|
|
Q & A final assignment |
|