priority inheritance


priority inheritance

(parallel)A technique for avoiding priority inversion bytemporarily raising the prioriry of all processes that want toaccess a shared resource to the highest priority level of anyof them. Priority inversion occurs where a low priorityprocess, L is holding a resource required by a high priorityprocess, H, but L is not running because a medium priorityprocess, M is running. Under priority inheritance, Ltemporarily inherits H's priority, allowing L to run andrelease 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 aline of cars (M) using the junction. Applying priorityinheritance, the cars give way to the lorry as they would tothe ambulance, thus allowing the lorry and then the ambulanceto use the junction.