<aside> 🧭

Module 01 · Kernel, User Space & the System Call Boundary

There is a line between your programs and the kernel. Almost every permission error, slow service and broken container you will ever debug is about something crossing that line. This module makes the line visible and teaches you to watch the traffic.

🧠 concept → 🧩 real-world analogy → 🧪 exercise → ✅ expected result (hidden) → 🎯 interview questions (hidden)

</aside>


🧩 Part A · What an operating system actually is

A1 · The three problems an OS solves

<aside> 📖

Official docs: The Linux kernel user's and administrator's guide · POSIX.1-2024 — Base Specifications Issue 8

</aside>

You have used an operating system every day for years, which is exactly why the phrase can stay vague. Let us make it precise.

The easiest way to see what an OS does is to imagine a machine without one.

You have a CPU, some memory, an SSD and a network card. You write a program, and it is the only thing on the machine. Now look at what your program has to do for itself:

This is not a made-up example. It is what programming was like before operating systems, and it is still what writing code for a small embedded chip is like today.

Every one of those problems is a real job that someone has to do. An operating system is the software that does all of them, so your program does not have to.

Those jobs group into three problems. Every feature in the remaining fourteen modules is an answer to one of them, so it is worth being able to name all three.

Problem What happens without it The OS answer Taught in
1. Multiplexing A CPU core runs one instruction stream. The first program to start would own the machine until it chose to stop. Scheduling and time-slicing Module 07
2. Abstraction Every program would ship its own driver for every SSD, NIC and filesystem in existence. System calls, drivers, the virtual filesystem Modules 01, 03
3. Isolation Any program could read your SSH private key, or scribble on another program's memory and take the machine down with it. Privilege levels, virtual memory, credentials Modules 08, 13

<aside> 🗣️

Say it this way in an interview. "An operating system shares limited hardware between many programs, hides the hardware behind one common interface, and keeps programs from interfering with each other or with the hardware."

Three clauses, thirty seconds — and it hands the interviewer the three follow-up topics they were going to ask about anyway: scheduling, system calls and memory.

</aside>

Here is the shape of the whole system. Everything else in this track is a zoom-in on one box or one arrow.