1. 最高储物柜协议(HLP):
Highest Locker Protocol (HLP) 是一种关键资源共享协议,它是优先级继承协议 (PIP) 的扩展,该协议是为了克服优先级继承协议 (PIP) 的限制而引入的。在这个关键资源共享协议中,每个关键资源都被分配了一个上限优先级值。这个值是所有可能请求持有这个关键资源的任务的最大优先级。当任务持有关键资源时,其优先级更改为关键资源的上限优先级值。如果一个任务拥有多个关键资源,则将所有上限优先级值中的最大值分配为该任务的优先级。
2. 优先上限协议(PCP):
优先级上限协议 (PCP) 是优先级继承协议 (PIP) 和最高储物柜协议 (HLP) 的扩展。它解决了Priority Inheritance Protocol的无限优先级倒置、Highest Locker Protocol的死锁和链阻塞问题,同时也最大限度地减少了继承相关的倒置,这也是Highest Locker协议的一个局限。这不是像优先继承协议那样的贪婪方法。在 PCP 中,尽管资源是免费的,但任务可能会被拒绝访问。
HLP 和 PCP 的区别:
最高储物柜协议(HLP) | 优先级天花板协议 |
---|---|
HLP是一种关键资源共享协议,是 PIP 的扩展。 | PCP是一种关键资源共享协议,是 PIP 和 HLP 的扩展。 |
HLP克服了 PIP 的限制。 | PCP克服了 PIP 和 HLP 的限制。 |
HLP需要操作系统的适度支持。 | PCP需要操作系统的最大支持。 |
HLP是所有资源共享协议中效率最低的。 | PCP是所有资源共享协议中效率最高的一种。 |
HLP最大化了与继承相关的反转。 | PCP能够最小化与继承相关的反转。 |
HLP解决了无限优先级反转、死锁和链阻塞问题。 | PCP解决了无限优先级反转、死锁、链阻塞和与继承相关的反转问题。 |
在 HLP 中,如果资源空闲,则不能拒绝最高优先级任务的访问。 | 在 PCP 中,如果优先级值小于 CSC(当前系统上限),则可以拒绝最高优先级任务的访问,尽管资源是空闲的。 |
HLP很少用于现实生活中的应用程序。 | PCP用于大型应用程序。 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/276088.html