1. Priority Inheritance Protocol (PIP) :
Priority Inheritance Protocol (PIP) is a critical resource sharing protocol which is used for sharing critical resources among different tasks. This allows the sharing of critical resources among different without the occurrence of unbounded priority inversions. When a task goes through priority inversion, the priority of the lower priority task which has the critical resource is increased by the priority inheritance mechanism. It allows this task to use the critical resource as early as possible without going through the preemption. It avoids the unbounded priority inversion.
2. Highest Locker Protocol (HLP) :
Highest Locker Protocol (HLP) is a critical resource sharing protocol which is an extension of Priority Inheritance Protocol (PIP) which was introduced to overcome the limitations of Priority Inheritance Protocol (PIP). In this critical resource sharing protocol, every critical resource is assigned a ceiling priority value. This value is the maximum of priorities of all those tasks which may request to hold this critical resource. When a task holds a critical resource its priority is changed to the ceiling priority vale of the critical resource. If a task holds multiple critical resources, then maximum of all ceiling priorities values is assigned as priority of the task.
Difference between PIP and HLP :
|PRIORITY INHERITANCE PROTOCOL||HIGHEST LOCKER PROTOCOL|
|It is a critical resource sharing protocol used for sharing critical resources among different tasks.||It is a critical resource sharing protocol which is an extension of PIP.|
|It overcomes the limitations of traditional resource sharing techniques.||It overcomes the limitations of PIP.|
|It requires minimum support from the operating system.||While it requires moderate support from the operating system.|
|It can not prevent the deadlock.||While it prevents tasks from going into deadlock.|
|Tasks using PIP may suffer chain blocking.||While the tasks using HLP can not suffer from chain blocking.|
|It is the simplest protocol among all resource sharing protocols.||While it is the moderate one among all.|
|Intermediate priority tasks not needing CR do not go into inheritance-related inversion.||Intermediate priority tasks not needing CR do not might go into inheritance-related inversion.|
|It solves the problem of unbounded priority inversion.||While it solves the problem of deadlock and chain blocking.|
|It can not make tasks to miss the corresponding deadlines.||While it can cause tasks to miss the deadlines.|
|It is mostly used in small applications.||While it is rarely used in real-life applications.|
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- What is the difference between GUI and CUI?
- Difference between OOP and POP
- Difference Between SEO and SEM
- Difference between CLI and GUI
- Difference between Blu-ray and DVD
- Difference between TCP and RTP
- Difference between C and C++
- Difference between RPC and RMI
- Difference between DFD and ERD
- Difference between MAN and WAN
- Difference between IoE and IoT
- Difference between DAS and NAS
- Difference between DFA and NFA
- Difference between IBM DB2 and MS SQL
- Difference between PIP and PCP
- Difference between IoT and M2M
- Difference Between DAS and SAN
- Difference Between SMO and SEO
- Difference between HLP and PCP
- Difference between USB 2.0 and USB 3.0
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.