The primary course book is Arpaci-Dusseau et al.: Operating Systems: Three Easy Pieces (Version 1.00). See also the Resources page for other materials. Before each lecture, please consult the self study instructions below. The code examples are available on GitHub.

Lecture self study instructions

Week Date Content
#1 2024-10-01 Operating system architecture - kernel, programs, processes
#2 2024-10-08 Program memory layout - code, stack, executables
#3 2024-10-15 Program memory layout - heap
#4 2024-10-22 Program memory layout - garbage collection
#5 2024-10-29 Parallelism - context switching, scheduling
#6 2024-11-05 Parallelism - synchronization problems (self study only)
#7 2024-11-12 Parallelism - synchronization tools
#8 2024-11-19 Parallelism - memory models
#9 2024-11-26 System memory management - paging principles
#10 2024-12-03 System memory management - paging algorithms and applications
#11 2024-12-10 System entry points - system calls and interrupts
#12 2024-12-17 Devices - device drivers, device interfaces
#13 2025-01-07 Storage - file systems