Virtual Memory Explained
Every address your program touches is a fiction. The CPU never sees it — it walks page tables, checks the TLB, and only then touches physical RAM. This video traces that path for a single memory access and explains why the indirection exists in the first place: isolation, overcommit, and the ability to give every process a private 64-bit address space that no other process can corrupt.
Topics covered:
- Virtual vs. physical addresses and who owns the mapping
- Page tables: the hierarchical structure that makes 4KB pages addressable
- The TLB: the hardware cache that makes translation nearly free
- Page faults and demand paging: why touching memory is what allocates it
- Protection bits and how the kernel enforces read/write/execute per page
mmap,fork, and copy-on-write as practical consequences- Why cache effects mean virtual memory can be faster, not slower
Related articles
How Virtual Memory Works
Page tables, TLB, and demand paging — why your 16GB laptop 'has' 128GB of addressable memory.
Context Switch Costs, Measured
What a context switch actually costs: register saves, TLB flushes, and cache pollution — and why a 2µs switch at 100k switches per second burns 20% of a core.
What Really Happens During a System Call
Trap, ring transition, and the syscall table — the cost of asking the kernel for help and why it's never free.
More in Operating Systems
Virtual Memory in One Diagram
Page tables, TLB, demand paging, and copy-on-write — how your 16GB laptop 'has' 128GB of addressable memory.
WatchContainer Isolation in Linux
What Docker and Kubernetes containers actually are — namespaces, cgroups, and the syscalls that make isolated processes without a VM.
DetailsSignals and Interrupts
Hardware interrupts and Unix signals — the two asynchronous mechanisms that interrupt your program, and what the kernel does between the wire and your handler.
DetailsLocks and Synchronization Primitives
Mutexes, spinlocks, semaphores, and condition variables — how they map to hardware atomics and futexes, and when each one is the right tool.
DetailsMemory-Mapped Files
How mmap() maps a file into your address space — demand paging from disk, the page cache, and why mapped I/O beats read() and write().
DetailsFile Systems Explained
How a file system stores your data — inodes, directory entries, extents, and journaling — and what actually happens on read and write.
DetailsThread Pools Explained
How thread pools work under the hood — worker threads, work queues, and why reusing threads beats spawning them for every request.
DetailsSyscalls Under the Hood
What actually happens when your program calls read(), open(), or fork() — the trap, the kernel mode switch, and the return path.
DetailsProcess Scheduling, Visualized
How the Linux scheduler picks the next runnable process — time slices, priorities, CFS virtual runtime, and why your busy server still feels responsive.
DetailsDepth, delivered weekly
One technical dispatch a week — articles and episode notes before they go public.
One technical dispatch per week. No noise.