Priority inheritance

The priority inheritance (English: priority inheritance ) is the second priority limit or barrier ( Priority Ceiling ) a method to resolve the problem of priority inversion.

Go to priority inversion can occur in at least three tasks with different priorities. Prompts here the lowest prioritized a free resource, they will be assigned to him by the process scheduler immediately. Now asks the highest priority task the same resource to, they denied him, as the low-priority exclusive access keeps. The high-priority task must now wait for the low-priority. A third task with medium priority can displace the lower priority task. Since the task with the highest priority waits the low with the priority of the task is now displaced with medium priority indirectly the task with the highest priority. The priorities are thus ineffective.

In order to prevent the condition of priority inversion effectively, the priority of the low priority tasks will be increased. This will happen when the high-priority task would ask the resource is occupied by the low-priority. The low priority task inherits the priority of the high priority tasks. The two tasks can no longer be interrupted by the originally running with medium priority task. Once the low priority task is finished with the resource, it regains its original priority again.

Using priority inheritance has been fixed in the Pathfinder mission to Mars in 1997, the problem of the total system reset.

661397
de