Whitepaper: Mutexes Battle Priority Inversions

This whitepaper by a veteran real-time trainer David Kalinsky provides an introduction to the subject of Priority Inversions and Mutexes, from the perspective of embedded systems software developers using a real-time operating system. It discusses unbounded priority inversions, including a detailed example. Then it surveys the differences between mutexes and “classic” semaphores, and the use of priority promotion, priority inheritance and priority ceiling protocols. More articles here.