Operating Systems

An operating system sells every program three illusions — that it has a private CPU and private memory (virtualization), that many things can happen at once and stay correct (concurrency), and that data outlives any crash (persistence) — all on shared, imperfect hardware. This master's course takes those illusions apart at graduate depth: how a kernel stays in control of a CPU running untrusted code, how modern schedulers and virtual memory really work, kernel-grade synchronization, journaling and log-structured file systems, the modern storage stack, machine virtualization, containers, OS security, and where the field is heading.

It builds directly above the undergraduate Operating Systems and Concurrency course, and leans on the architecture of caches, coherence, the TLB and interrupts. Expect real systems throughout — Linux, KVM, ext4, ZFS, Docker, seL4 — and a runnable simulation on almost every page.

Module 1 — Kernels and the OS interface

Module 2 — Advanced CPU scheduling

Module 3 — Advanced virtual memory

Module 4 — Concurrency at scale

Module 5 — File systems

Module 6 — Storage and the I/O stack

Module 7 — Virtualization

Module 8 — Containers and OS-level isolation

Module 9 — OS security and protection

Module 10 — Modern and distributed operating systems

Begin → The Graduate View of Operating Systems