A very strong look at modern scheduling algorithms to ~2009. It analyses earliest deadline first and the classic optimality solutions for periodic and aperiodic systems, both online and offline, and then provides a deeper look at guarantees and priority systems and many of the recent algorithms for overload resolution. What I really liked most was that it understood the importance of synchronisation schemes on preemption algorithms and explored a number of modern algorithms on fighting priority inversion and other negatives of naive locking primitives. I had only heard of priority inheritance before reading this, and now I see that one can do much better.