4 lessons
What is a deadlock, and the four conditions that cause one
The precise, necessary ingredients for a deadlock to happen, illustrated with traffic gridlock and the dining philosophers.
Deadlock prevention and avoidance
Two different philosophies for stopping deadlock before it happens — permanently outlawing a condition, versus carefully checking every request in the moment.
Deadlock detection and recovery
What to do when you let deadlock happen on purpose, and simply deal with the aftermath — spotting it, and cleaning it up.
Livelock, starvation, and choosing a real-world deadlock strategy
The cousin of deadlock where processes are busy but still stuck, and how real operating systems actually decide which of the four strategies to use.