1. 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.
2. Priority Ceiling Protocol (PCP) :
Priority Ceiling Protocol (PCP) is an extension of Priority Inheritance Protocol (PIP) and Highest Locker Protocol (HLP). It solves the problem of unbounded priority inversion of Priority Inheritance Protocol, deadlock and chain blocking of Highest Locker Protocol and also minimizes the inheritance-related inversion which was an also a limitation of Highest Locker Protocol. It is not a greedy approach like Priority Inheritance Protocol. In PCP, it is possible that a task may be denied for access although the resources is free.
Difference between HLP and PCP :
|HIGHEST LOCKER PROTOCOL||PRIORITY CEILING PROTOCOL|
|It is a critical resource sharing protocol which is an extension of PIP.||It is a critical resource sharing protocol which is an extension of PIP and HLP.|
|It overcomes the limitations of PIP.||It overcomes the limitations of PIP and HLP.|
|It requires moderate support from the operating system.||While it requires maximum support from the operating system.|
|It is the least efficient among all resource sharing protocols.||While it is the most efficient one among all resource sharing protocols.|
|It maximizes the inheritance-related inversions.||While it is able to minimize the inheritance-related inversions.|
|It solves the problem of unbounded priority inversion, deadlock and chain blocking.||While it solves the problem of unbounded priority inversion, deadlock, chain blocking and inheritance-related inversions.|
|In HLP, highest priority task can not be denied access if resource is free.||While in PCP, highest priority task can be denied access although resource is free if priority value is less than CSC (Current System Ceiling).|
|It is rarely used in real-life applications.||While it is used in large applications.|
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Difference between PIP and HLP
- Difference between PIP and PCP
- Highest Locker Protocol (HLP)
- Types of Priority Inversions under PCP
- Difference between Stop and Wait protocol and Sliding Window protocol
- Similarities and Difference between Java and C++
- Difference between Yaacomo and and XAP
- Difference between VoIP and and POTS
- Difference and Similarities between PHP and C
- Difference between Time Tracking and Time and Attendance Software
- Difference Between Single and Double Quotes in Shell Script and Linux
- Difference between ++*p, *p++ and *++p
- Difference Between DOS and Windows
- Difference between User Level thread and Kernel Level thread
- What’s difference between The Internet and The Web ?
- Difference between Priority Inversion and Priority Inheritance
- What’s difference between Linux and Android ?
- What’s difference between header files "stdio.h" and "stdlib.h" ?
- Difference between HTML and HTTP
- Difference between http:// and https://
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.