Lesson 1 of 7

What an OS Actually Does

An shares the hardware between many programs and keeps them from interfering with each other. This lesson covers its main jobs and the line between user programs and the kernel.

Three jobs. Abstraction: turn ugly hardware (disk sectors, network chips, interrupts) into clean concepts (files, sockets, processes). Multiplexing: share limited CPU, RAM, and disk among many programs that each think they own the machine. Protection: isolate programs from each other and the kernel from everyone, so a crashing game can't take your unsaved document with it.

Text
The layer cake:

  your app (Chrome, your Python script)
  ------------------------------------ user space
  standard library (libc, CPython, JVM)
  ==================================== system call boundary
  kernel: scheduler | memory | filesystems | drivers | network
  ------------------------------------
  hardware: CPU, RAM, SSD, NIC, GPU

Everything above the ==== line can crash safely.
Everything below it runs with total power.

The CPU itself enforces the boundary with privilege modes: kernel code runs in a privileged mode that can touch any and any device; your programs run in user mode, where dangerous instructions and other programs' memory are off-limits. Crossing the line happens only through system calls — the kernel's official .

Finished reading?Mark it done to track your progress.

Tip: use the ← and → keys to move between lessons.