Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Priority inversion
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Consequences== In some cases, priority inversion can occur without causing immediate harm—the delayed execution of the high-priority task goes unnoticed, and eventually, the low-priority task releases the shared resource. However, there are also many situations in which priority inversion can cause serious problems. If the high-priority task is left [[Resource starvation|starved]] of the resources, it might lead to a system malfunction or the triggering of pre-defined corrective measures, such as a [[watchdog timer]] resetting the entire system. The trouble experienced by the [[Mars Pathfinder]] lander in 1997<ref>{{citation |url=https://www.cs.unc.edu/~anderson/teach/comp790/papers/mars_pathfinder_long_version.html |title=What Really Happened on Mars |author=Glenn Reeves |publisher=JPL Pathfinder team |access-date=2019-01-04}}</ref><ref>{{citation |url=https://users.cs.fiu.edu/~cpoellab/teaching/cse40463/slides6.pdf |title=Explanation of priority inversion problem experienced by Mars Pathfinder |access-date=2019-01-04}}</ref> is a classic example of problems caused by priority inversion in [[Real-time computing|realtime]] systems. Priority inversion can also reduce the [[perceived performance]] of the system. Low-priority tasks usually have a low priority because it is not important for them to finish promptly (for example, they might be a [[batch job]] or another non-interactive activity). Similarly, a high-priority task has a high priority because it is more likely to be subject to strict time constraints—it may be providing data to an interactive user, or acting subject to real-time response guarantees. Because priority inversion results in the execution of a lower-priority task blocking the high-priority task, it can lead to reduced system responsiveness or even the violation of response time guarantees. A similar problem called [[Earliest deadline first scheduling#Deadline interchange|deadline interchange]] can occur within [[earliest deadline first scheduling]] (EDF).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)