Operating Systems Roadmap
Programs → processes → threads → scheduling → system calls → files → virtual memory → I/O → concurrency → IPC → sockets → containers → debugging. Every node opens its lesson; progress is stored locally.
- 1
Programs
0/4What an OS is for, and what happens between
./serverand the first instruction on a CPU: the loader, the address space, and why one executable on disk is not the same thing as the three instances running from it. - 2
Processes
0/3A process has an identity, an address space, a state, open resources and a parent. The process table, the state machine from Runnable to Zombie, and
fork+execas the two halves of "start a program". - 3
Threads
0/7Several flows of control inside one address space; concurrency as interleaving versus parallelism as simultaneous cores; and how C++, JavaScript/TypeScript and Python each map "do many things at once" onto OS threads, event loops and async I/O.
- 4
Scheduling
0/3A hundred runnable tasks and eight cores: ready queues, time slices, priority and preemption, and what a context switch actually saves, restores and throws away (registers, the TLB, the cache).
- 5
System Calls
0/2Why a program cannot write to the disk itself: the user/kernel boundary, the trap into kernel mode, what a syscall costs, and why "mostly system time" in
topis a diagnosis in itself. - 6
Files / Descriptors
0/4A filename is not a file: paths, directories, metadata and permissions; the per-process descriptor table (and what FD 3 is); how a path becomes blocks on storage; and inodes on Unix-style systems.
- 7
Virtual Memory
0/6Where a local variable lives, where an object lives, why recursion has a limit and what
malloc/new/an object allocation actually asks the kernel for — then the illusion underneath: every process believes it owns a huge private, contiguous memory. - 8
Paging
0/7How the illusion is built: pages and frames, multi-level page tables, the TLB that makes translation affordable, page faults as the normal mechanism (not an error), memory pressure and swapping,
mmap, and copy-on-write behind a fastfork(). - 9
I/O
0/4Follow one
read()from the call through the page cache to the SSD and back; blocking, non-blocking, asynchronous and multiplexed I/O;select/pollversusepoll/kqueue; and why a file, a pipe and a socket are the same kind of thing to the kernel. - 10
Concurrency
0/3Two threads add one to a counter and the result is one: the zoo of concurrency bugs, why a race is a property of the interleaving and not of the code, and the critical section as the thing every fix protects.
- 11
Synchronization
0/4The tools that make a critical section safe — mutexes, counting semaphores, atomic compare-and-swap — and the four ingredients that turn a lock into a deadlock, with the wait-for graph that finds it.
- 12
IPC
0/4Two isolated processes need to talk: pipes, shared memory, message queues, signals and sockets compared on speed, isolation, complexity and local-versus-remote.
- 13
Sockets
0/1What the kernel actually hands you when you call
socket(): a descriptor with send and receive buffers behind it, a state machine, and the bridge into the Networking domain. - 14
Containers
0/3A container has no kernel of its own, so what isolates it? Namespaces, control groups and layered filesystems on a shared host kernel — and how that differs from a hypervisor running a whole guest OS.
- 15
Performance / Debugging
0/9Break a simulated OS on purpose, then learn the playbook for high CPU, high memory, hangs and
EMFILE; the capstone explains a 50,000-connection server layer by layer, and thetogetherlessons followsend()across the wire to arecv()on another machine.- The OS Simulator: Cores, Processes, RAM, I/O and Locks
- Break the OS: Predict, Break, Diagnose
- The OS Debugging Playbook: Four Symptoms, Fourteen Causes
- Capstone: A Server With 50,000 Concurrent Connections
- Follow send() Through the OS to recv()
- Build a Tiny Server: V0 to V5
- C10K: Ten Thousand Connections, Then a Million
- Combined Failure Simulator: Break a Layer, Watch It Propagate
- Capstone: Three Seconds from Warsaw