Skip to main content

Learn

Pick a path through the machine.

Each path puts existing chapters, a from-scratch project and interactive explorers in a sensible order for one subject. Start wherever your knowledge runs out.

Systems topics

  1. Path 1

    Computer Architecture

    Transistors to multicore SoCs

    Start with a single transistor and finish with a machine that fetches, decodes and executes instructions. Each step adds one layer, so by the end the CPU, its caches and its buses are parts you can name rather than a black box.

    7 chapters · 3 explorers

  2. Path 2

    Operating Systems

    Boot, MMU, processes, syscalls

    How a kernel takes a bare CPU to an interactive shell: boot, memory, interrupts, processes, system calls and files. Start with the hardware concepts the kernel depends on, build a real AArch64 kernel on QEMU, then explore the hard parts interactively.

    13 chapters · 1 explorer

  3. Path 3

    Compilers

    Lexing to x86-64 code generation

    Follow a program from source text to a native executable. You design a small language, then write each stage that turns it into x86-64 machine code, testing every stage before the next one depends on it.

    10 chapters · 1 explorer