Skip to content

Operating Systems

How an operating system works on the inside, and where its particular design choices came from.

You can learn an operating system as a vocabulary list: process, thread, page, semaphore, deadlock. But when something on a live machine starts to slow down or crash with no explanation, that vocabulary does not help much.

So here the hardware comes first, followed by the abstraction that hardware forced someone to invent. Virtual memory makes sense after the MMU, the scheduler after the timer interrupt.

18 modules

From how the CPU sees memory to containers, eBPF and confidential computing.

Two practice tracks

Systems programming in C and Linux administration. Eight labs out of thirteen are checked automatically.

Linux as the working example

Every module has a “how it actually works” section: commands you run on your own machine and see real output.

No sign-up

There is nothing to register. The materials are open, and your progress stays in your browser.

You will need C at the level of pointers and structs, confident use of the Linux terminal, and an understanding of binary and hexadecimal. We explain the rest along the way.

Last updated: