Priority Inverse Solutions
- Bounded Priority Inverse: happen when higher priority process is waiting for resource (ex. critical section protected by mutex and semaphor) which is currently used by lower priority process. High priority process need to wait until low process pass the critical section.
- Unbounded Priority Inverse: happen when a middle priority process further preempty the low priority process, therefore the high priority process need to further wait for the middle priority process.
- Priority Inheritance Protocol: when low priority process accesses the resource, boost its priority to be the same as the highest priority process which is waiting for the resource. This is not very practical because we need to track all processes which are waiting for semaphor at run time.
- Priority Ceiling Protocol: when low priority process accesses the resource, boost its priority to a predefined level which must be higher than all processes which are possible to access the critical section. Therefore we don't need to track what processes are waiting for resource at run time. The disadvantage is that we need to predefine the level before run time.
page revision: 4, last edited: 30 Apr 2012 07:59