Machine layer
How computers work
Explain what your code turns into and who runs it, from the CPU up.
- 01
Why Docker on your Mac is a VM
A container borrows the host's kernel. macOS has the wrong one.
- 02
Processes and the kernel
What a running program is, and the one program that runs the others.
- 03
System calls
The only door from your code into the kernel.
- 04
Virtual memory
Every process thinks it owns the machine's memory.
- 05
Files, sockets and descriptors
Why a socket and a file share one interface.
- 06
Threads and scheduling
Who decides what runs next, and how often.
- 07
Caches and latency
Why reading RAM is slow and reading a disk is slower.
- 08
Containers from scratch
Build one with unshare, chroot and cgroups. No Docker.
- 09
VMs and hypervisors
How one machine pretends to be several.
- 10
From source to running binary
Compile, link, load: what happens before main().