Processes, threads, scheduling, memory, and synchronization.
The units of execution — what they are, how they differ, and when to use which.
How the OS decides who runs — algorithms, preemption, and the metrics that trade off.
Paging, page tables, TLBs, page faults, and what "out of memory" really means.
Why shared mutable state is dangerous and the toolbox for taming it.
User vs kernel mode, what a syscall costs, and how isolated processes talk.
The four Coffman conditions, prevention vs avoidance vs detection, and the Dining Philosophers.
Inodes, the page cache, fsync and durability, and what blocking vs non-blocking I/O really means.