Operating Systems

Understand the machine under your code.

A full course — from a single system call down into the kernel and back up through processes, scheduling, concurrency, memory and file systems. Every idea is drawn out as a clear visual, and explained the way a working engineer actually needs it.

A

Foundations

What an OS is, the hardware it drives, system calls, and how a program becomes a process.

  1. 01What an Operating System Actually Is6 sections
  2. 02A Short History & the OS Zoo6 sections
  3. 03The Hardware an OS Drives8 sections
  4. 04OS Structures & Architectures7 sections
  5. 05The Boot Process7 sections
  6. 06System Calls & the User–Kernel Boundary8 sections
  7. 07From Source Code to a Running Process8 sections
B

Processes, Threads & Scheduling

The PCB, threads, context switches, CPU schedulers, and interprocess communication.

  1. 08The Process & the PCB9 sections
  2. 09Threads8 sections
  3. 10Context Switching & the Dispatcher6 sections
  4. 11CPU Scheduling I — The Basics9 sections
  5. 12CPU Scheduling II — Real Schedulers8 sections
  6. 13Interprocess Communication (IPC)9 sections
C

Concurrency & Synchronization

Race conditions, locks & semaphores, classic problems, lock-free, and deadlocks.

  1. 14Race Conditions & the Critical Section7 sections
  2. 15Locks, Semaphores & Condition Variables9 sections
  3. 16Classic Synchronization Problems7 sections
  4. 17Hardware Primitives & Lock-Free Programming7 sections
  5. 18Deadlocks I — Prevention & Avoidance8 sections
  6. 19Deadlocks II — Detection & Recovery6 sections
D

Memory Management

Address spaces, segmentation, paging & the MMU, virtual memory, and page replacement.

  1. 20Memory Without Abstraction7 sections
  2. 21Address Spaces & Segmentation7 sections
  3. 22Paging & the MMU9 sections
  4. 23Virtual Memory & Demand Paging9 sections
  5. 24Page Replacement Algorithms9 sections
  6. 25Paging Design & Thrashing7 sections
E

Storage, I/O & File Systems

I/O layers, disks & scheduling, files & directories, and real file-system implementations.

  1. 26I/O Hardware & Software Layers8 sections
  2. 27Disks, SSDs & Disk Scheduling8 sections
  3. 28Files & Directories8 sections
  4. 29File-System Implementation9 sections
  5. 30Real File Systems7 sections
F

Modern & Distributed Systems

Virtualization & hypervisors, containers & cgroups, multiprocessors and distributed systems.

  1. 31Virtualization & Hypervisors8 sections
  2. 32Containers, Namespaces & cgroups8 sections
  3. 33Multiprocessors, Multicomputers & Distributed Systems8 sections
G

Case Studies & Capstone

Linux & Android, Windows internals, performance debugging, and OS for databases.

  1. 34Case Study: Linux & Android9 sections
  2. 35Case Study: Windows7 sections
  3. 36OS for Engineers: Performance & Debugging8 sections
  4. 37Capstone: Operating Systems for Databases9 sections

37 chapters · every concept illustrated.