Priority inheritance
parallel
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.
(2005-02-11)
Read Also:
- Priority interrupt
jargon Any stimulus compelling enough to yank one right out of hack mode. Classically used to describe being dragged away by an SO for immediate sex, but may also refer to more mundane interruptions such as a fire alarm going off in the near vicinity. Also called an NMI (non-maskable interrupt), especially in PC-land. [Jargon […]
- Priority inversion
parallel The state of a concurrent system where a high priority task is waiting for a low priority task which is waiting for a medium priority task. The system may become unstable and crash under these circumstances. In an operating system that uses multiple tasks, each task (or context) may be given a priority. These […]
- Priority-mail
noun 1. (in the U.S. Postal Service) mail consisting of merchandise weighing more than 12 ounces sent at first-class rates.
- Priority queue
programming A data structure with three operations: insert a new item, return the highest priority item, and remove the highest priority item. The obvious way to represent priority queues is by maintaining a sorted list but this can make the insert operation very slow. Greater efficiency can be achieved by using heaps. (1996-03-12)
- Priority scheduling
operating system Processes scheduling in which the scheduler selects tasks to run based on their priority as opposed to, say, a simple round-robin. Priorities may be static or dynamic. Static priorities are assigned at the time of creation, while dynamic priorities are based on the processes’ behaviour while in the system. For example, the scheduler […]