Open In App

Difference between HLP and PCP

Last Updated : 15 Sep, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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 value 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.

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads