priority inversion


Also found in: Wikipedia.

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 priorities help the scheduler decide which task to run next. Consider tasks, L, M, and H, with priorities Low, Medium, and High. M is running and H is blocked waiting for some resource that is held by L. So long as any task with a priority higher than L is runable, it will prevent task L, and thus task H, from running.

Priority inversion is generally considered either as a high-level design failure or an implementation issue to be taken into account depending on who is talking. Most operating systems have methods in place to prevent or take inversion into account. Priority inheritance is one method.

The most public instance of priority inversion is the repeated 'fail-safe' rebooting of the Mars Pathfinder. base station ('Sagan Memorial Station').
References in periodicals archive ?
* a priority inversion that can lead to the value Dens significant decreasing.
In the case of PIP usage a priority inversion is prevented but a possibility of the clinch appearance is preserved [13].
This will make the priority value to increase slowly and the priority inversion will be delayed.
Priority ceiling protocol (PCP) [23, 24] is a synchronization protocol for shared resources to avoid deadlock and unbounded priority inversion due to wrong nesting of critical sections.
If a high priority task is blocked by a transaction in a less important task, it can force a roll back to prevent priority inversion.
--Real-Time Interprocess Communications: MINIX4RT IPC uses unidirectional communication channels called Message Queues that handle messages in priority order and guarantee message delivery in a timely fashion and avoid the Priority Inversion problem [5].
Applications can take advantage of ThreadX's preemption-threshold to eliminate excessive context switching, un-deterministic priority inversion, and enhance responsiveness.
Summary of Key Capabilities of TimeSys Linux RTOS - High availability, carrier-grade capabilities like hot-swap, real-time support, resilient file system support - Single-kernel Linux RTOS with priority inversion avoidance mechanisms and high resolution timers - Support on embedded carrier-grade platforms like SBE, Artesyn, Motorola, Kontron, ADI - "Ready to run" delivery reduces engineering startup time - Complete range of development tools to maximize developer productivity
However, our treatment remains valid when this is not the case, as long as the orderings of the classes according to their base priorities and to their priorities at t = [0.sup.+] coincide (i.e., as long as priority inversion (see below) is absent).
The disadvantages of this model stem from the excessive context switching and the synchronization required to manage the request queue, as well as request-level priority inversion caused by connection multiplexing.
One of the main problems that arises when using critical sections is that of priority inversion. A priority inversion exists when a given task must wait on a task of lower priority to release a critical section.
* Performance Statistics-counts the number of context switches, interrupts, priority inversions, and other critical events that occur during system operation

Full browser ?