You can checkout question #108 to know what is priority inversion.
Question #111: How can priority inversion be handled?
Options:
- By raising the priority of the blocked process.
- By lowering the priority of the blocked process.
- By raising the priority of the lower priority process for which higher priority process is waiting.
- Both 2 and 3.
Solution: The correct answer is 4th one. If we let lower priority process run by temporarily raising its priority, it will release the semaphore quickly. This is called priority inheritance. This might be needed at various steps in the chain and not just once.