- Introduction
The Machine
A computer is built from one part repeated: a switch that is either on or off, a scrap of doped silicon that conducts only when told to. These chapters stack that switch into logic, logic into arithmetic and memory, and all of it into a processor that runs a program held in its own memory, then ask how a machine that large is described, made faster by overlap, caching, and many cores at once, and even configured after it is built.
The Software
A bare processor understands only numbers. These chapters give it language: an assembler that turns names into those numbers, a lexer and a compiler that turn human-written programs into them, and an operating system that runs many programs at once and hands each one memory, files, and a way to ask the machine for help.
- How is code turned to bits?
- How do programs combine?
- How does text become tokens?
- How do programs run programs?
- What is a language?
- How does a loop become jumps?
- Who is in charge?
- How does a program ask for help?
- Where does new memory come from?
- How does each program get its own memory?
- How are files stored?
- How does a program get loaded and run?
The Network
So far each machine has run alone. These chapters connect them: a single bit driven across a wire, framed into bytes, addressed to a neighbour, routed across many machines, made reliable, given meaning, and at last made private, so two strangers anywhere can hold a conversation no one else can read.
The Browser
Everything beneath now exists: a machine, its software, and a network between machines. These last chapters spend it all on a single act, opening a web page, following it from the name you type down through every layer and back up to the pixels on the screen.