How to use this reference
- Work through topics top to bottom — paging assumes you understand virtual address spaces; containers assume you understand processes and isolation.
- Primary textbook: OSTEP (Operating Systems: Three Easy Pieces) — each subtopic points to specific chapters, not the whole book.
- For threads, locks, and deadlocks, use the Concurrency roadmap — this track covers the kernel's view (processes, scheduling, virtual memory), not user-space synchronization patterns.
- Optional hands-on tasks use standard Linux/macOS tools — strace, ps, /proc, vmstat, docker — no complex setup.
The Reference
- 1
What the operating system actually is — the illusion of a private machine, the system-call boundary, and the process as the unit of CPU virtualization.
- 2
Sharing one or many CPUs among processes — context switches, scheduling policies, and the trade-offs that show up as tail latency in production.
- 3
Giving every process its own address space — virtual memory, paging, the TLB, and why OOM kills happen even when free RAM looks available.
- 4
How user-space and the kernel allocate memory — malloc internals, fragmentation, and mmap for large or shared regions.
- 5
Making data outlive processes — file system abstractions, device I/O, and crash-consistent updates.
- 6
Isolating workloads without full hardware VMs — namespaces, cgroups, and the Linux primitives Docker builds on.