Difference between HLP and PCP

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.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.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.