Un sistema operativo (OS) è lo strato software che sta tra l'hardware e i tuoi programmi. Gestisce le risorse della macchina — CPU, memoria, storage, dispositivi — e le espone alle applicazioni tramite un'interfaccia pulita e sicura, così che molti programmi possano condividere un solo computer senza pestarsi i piedi a vicenda.
I due mondi: kernel e user space
┌─────────────────────────────────────────────────┐
│ User space │ browser editor shell ... │ ← your apps (unprivileged)
├───────────────┴─────────────────────────────────┤
│ system calls (open, read, ...) │ ← the boundary
├─────────────────────────────────────────────────┤
│ Kernel space │ scheduler memory mgr drivers │ ← privileged, trusted
├───────────────┴─────────────────────────────────┤
│ Hardware (CPU, RAM, disk) │
└─────────────────────────────────────────────────┘
