Think Like an OS: Full Syllabus§

Authors: Shrey Patel and Jay Patel, Coconut Labs
What this is: The section-level outline of every chapter, written and planned. 00-INDEX.md is the map; this is the blueprint. Written chapters (marked ✓) follow these outlines; planned chapters will be authored against them, each with live web research plus an adversarial fact-check pass before being marked done.

Every chapter uses the fixed template (problem → unfolded → real Linux → Coconut tie-in → lab → bridge notes → sources). The outlines below list what goes inside each of those sections; "Unfolded" carries the concept sequence.

Use this file two ways. Before you spend a session on a chapter, read its outline; it tells you what that session buys you, in concepts and in labs. When you are chasing one mechanism (why a fault costs what it costs, where a credential is actually checked, what a syscall pays for the crossing), search here for the mechanism and go straight to the chapter that owns it. If you came for the timing questions rather than for kernel development, 00-INDEX.md §1 names the chapters where timing is decided.


Part 0: Orientation & the lab bench§

Ch 0: Think Like an OS ✓§

Part F: Core fundamentals (the prerequisite layer)§

Ch F.0: The Unix Survival Kit ✓§

Ch F.1: How a Computer Computes ✓§

Ch F.2: Anatomy of a Program ✓§

Ch F.3: Memory from First Principles ✓§

Ch F.4: The C You Need ✓§

Ch F.5: Reading Assembly Without Fear ✓§

Ch F.6: Data Structures Kernels Love ✓§

Ch F.7: Concurrency, the Mental Model ✓§

Part I: The machine beneath§

Ch 1: The CPU's Contract ✓§

Ch 2: Interrupts & Exceptions ✓§

Ch 3: Memory Hardware ✓§

Ch 4: Time (planned)§

Ch 5: I/O at the Wire (planned)§

Part II: The kernel's core loop§

Ch 6: Boot ✓§

Ch 7: The Syscall Boundary ✓§

Ch 8: Processes & Threads ✓§

Ch 9: Scheduling ✓§

Ch 10: Kernel Concurrency (planned)§

Part III: Memory§

Ch 11: Virtual Memory (planned)§

Ch 12: Physical Memory (planned)§

Ch 13: Page Cache & Tiers (planned)§

Part IV: Persistence§

Ch 14: VFS (planned)§

Ch 15: Real Filesystems (planned)§

Ch 16: Block Layer & io_uring (planned)§

Part V: Identity & capability (the Coconut heart)§

Ch 17: Credentials & DAC (planned)§

Ch 18: Namespaces & cgroups (planned)§

Ch 19: LSM & seccomp (planned)§

Ch 20: Capability-Based Security (planned)§

Ch 21: Audit (planned)§

Part VI: Communication§

Ch 22: IPC (planned)§

Ch 23: Networking (planned)§

Part VII: The userspace contract§

Ch 24: ELF, Linking & Loading (planned)§

Ch 25: libc & the Runtime (planned)§

Ch 26: init & Service Management (planned)§

Ch 27: Packaging & Atomic Updates (planned)§

Part VIII: The interaction surface§

Ch 28: Pixels to Glass (planned)§

Ch 29: Wayland & Compositors (planned)§

Part IX: Building, testing, shipping§

Ch 30: kbuild & Cross-Compilation (planned)§

Ch 31: Kernel Testing (planned)§

Ch 32: Debugging & Observability (planned)§

Ch 33: Maintaining a Fork (planned)§

Part X: The frontier§

Ch 34: Rust in the Kernel (planned)§

Ch 35: eBPF (planned)§

Ch 36: Virtualization (planned)§

Ch 37: Agents as Kernel Primitives (planned; the thesis chapter, written last)§

Appendices (planned)§