Operating Systems
Every topic is a step-by-step animation with the reasoning written beside it — not just what the OS did, but why it decided that.
Start from the beginning →11 topics you can watch now, 17 still to come.
Foundations
What an operating system actually is, and why one exists at all.
Processes
The unit of work an OS schedules, and the states it moves through.
- Context switching
- Threads vs processes
- Inter-process communication
CPU Scheduling
Who gets the CPU next, and what each answer costs you.
- First Come First Served (FCFS)The simplest scheduler there is — and a live demonstration of the convoy effect.
- Shortest Job First (SJF)Provably the best average waiting time, if only you knew the future.
- Shortest Remaining Time First (SRTF)SJF with preemption: a shorter job arriving takes the CPU away.
- Priority SchedulingImportant work first — and the starvation problem that creates.
- Round RobinEveryone gets a turn. The scheduler behind every interactive system you use.
- Multilevel feedback queues
Virtual Memory
What happens when the pages you need do not fit in memory.
- FIFO Page ReplacementEvict the oldest page. Simple, cheap, and occasionally worse when you add memory.
- LRU Page ReplacementEvict whatever has gone unused longest, betting that the recent past predicts the future.
- Optimal Page ReplacementThe unbeatable policy you can never implement — the yardstick for every other one.
- Paging and address translation
- Segmentation
- Thrashing and the working set
Synchronisation
Two processes, one shared variable, and everything that can go wrong.
- Race conditions
- Critical sections and Peterson's solution
- Semaphores
- Producer-consumer
- Readers-writers
- Dining philosophers
Deadlock
The four conditions, and the cost of each way out.
- Coffman conditions
- Resource allocation graphs
- Banker's algorithm
- Detection and recovery