Everyone Can Learn Program
中文 Start learning
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.

6 lessonsabout 8 h Learn first: Python from Zero
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 course
1

Processes and threads

How the CPU is shared, and what goes wrong.
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?
2

Memory

Virtual memory, paging and caches.
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?
3

Resources

Deadlock and file systems.
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?