Operating Systems Mind Map

Algorithm & Systems Visualizations

Every operating systems visualization on this site on one map. The branches are the main ideas. Each leaf is a page; the grey line under it is the one thing to remember about it. Click a branch to focus on it, click a page to open it.

Recall mode hides the page names. Read the hint, say the name, then click the "?" to check.

1. How the map is organized

Overview of the operating systems mind map: Boot and program start, Processes and the kernel, Interrupts and devices, Scheduling and deadlock, Virtual memory, Physical memory, Files and storage, Disks and RAID, Isolation and security.
The map at a glance: 9 branches, 55 pages.

Ask which resource the kernel is managing on that page, and you know the branch:

  • Getting started? Firmware, linker and loader work before main() runs: boot and program start.
  • A process and its boundary with the kernel? System calls, fork, signals and pipes are processes; limiting what a process may see or touch is isolation.
  • CPU time or memory? Who runs next is scheduling. Translating addresses is virtual memory; handing out real frames and bytes is physical memory.
  • A device? How the device gets the CPU's attention is interrupts; how data reaches a file on disk is files and storage; the block devices under the files, alone or in an array, are disks and RAID.

2. The branches side by side

BranchResourceKey structureTypical failure
Boot and program startthe machine, a binaryELF file, GOT/PLTkernel panic, missing .so
Processes and the kernela processtask, fd tablezombie, broken pipe
Interrupts and devicesCPU attentionIDT, IRQ lineinterrupt storm, dropped packets
Scheduling and deadlockCPU timerun queuestarvation, priority inversion
Virtual memoryaddressespage table, TLBSIGSEGV, thrashing
Physical memoryRAM frames, bytesfree lists, malloc chunksfragmentation, OOM kill
Files and storagedisk blocksinode, page cachedata lost without fsync
Disks and RAIDdisk sectors, flash pagesrequest queue, stripe layoutbad sector, slow rebuild, write hole
Isolation and securitywhat a process may docred, namespaces, cgroupsEACCES, EPERM

3. Five facts to remember

  • A system call switches the CPU to kernel mode; the kernel does the work and returns to user mode.
  • Each process has its own virtual address space; the MMU translates every address and the TLB caches the result.
  • fork() is cheap because of copy-on-write: a page is copied only when someone writes to it.
  • write() usually only dirties the page cache; the data is safe on disk only after fsync().
  • A container is an ordinary process: namespaces control what it sees, cgroups control how much it uses.

See all operating systems pages in the index, or the other mind maps.