Priority Inversion Problem
- In Scheduling, priority inversion is the scenario where a low priority Task holds a shared resource, that is required by a high priority task.
- This causes the execution of the high priority task to be blocked until the low priority task has released the resource, effectively “inverting” the relative priorities of the two tasks.
- If some other medium priority task, one that does not depend on the shared resource, attempts to run in the interim, it will take precedence over both the low priority task and the high priority task.
Priority Inversion will
- make problems in real time systems.
- reduce the performance of the system
- may reduce the system responsiveness which leads to the violation of response time guarantees.
This problem can be avoided by implementing
- Priority Inheritance Protocol (PIP) or
- Priority Ceiling Protocol (PCP)