A technique for avoiding priority inversion by temporarily raising the prioriry of all processes that want to access a shared resource to the highest priority level of any of them. Priority inversion occurs where a low priority process, L is holding a resource required by a high priority process, H, but L is not running because a medium priority process, M is running. Under priority inheritance, L temporarily inherits H's priority, allowing L to run and release the resource H is waiting for.For example, an ambulance (H) is stuck behind a lorry (L) waiting at a junction (the shared resource) for a gap in a line of cars (M) using the junction. Applying priority inheritance, the cars give way to the lorry as they would to the ambulance, thus allowing the lorry and then the ambulance to use the junction.
Last updated: 2005-02-11