Core · Operating systems Free to read
Operating Systems tutorial
Scheduling, races and locks, virtual memory, caches, deadlock and file systems, each built as a small simulation you can run.
Learn it by doing
The interactive course has the same lessons with an editor next to them: run every example, answer the quizzes and solve exercises that are checked the moment you submit. Free to start, no sign-up.
Start the interactive course1
1
Processes and schedulingHow does one CPU run dozens of programs "at once"?2
Threads, races and locksWhy do two threads adding to one counter get the wrong answer?
Processes and threads
How the CPU is shared, and what goes wrong.2
3
Virtual memory and pagingHow can every program think it owns all the memory?4
Page replacement and LRUWhen memory is full, which page should go?
Memory
Virtual memory, paging and caches.3
5
DeadlockHow can two programs get stuck waiting for each other forever?6
File systemsHow does a file system turn a path into bytes on a disk?