优先级倒置
优先级反转是一种操作系统方案,其中较高优先级的进程被较低优先级的进程抢占。这意味着两个过程的优先顺序颠倒了。
优先级倒置带来的问题
由于优先级倒置而发生的一些问题如下:
如果没有为高优先级进程提供所需的资源,则可能会发生系统故障。
优先级倒置也可能导致采取纠正措施。这些可能包括整个系统的重置。
由于优先级倒置,可能会降低系统的性能。发生这种情况是因为必须立即执行更高优先级的任务。
由于高优先级任务可能具有严格的时间限制或实时响应保证,因此系统响应性会降低。
有时,由于优先级倒置不会造成任何危害,因为系统不会注意到高优先级过程的延迟执行。
优先级倒置解决方案
一些解决优先级倒置的解决方案如下-
优先天花板
所有资源都被分配了一个优先级,该优先级等于任何可能尝试声明其资源的任务的最高优先级。这有助于避免优先级倒置。
禁用中断
在这种情况下,只有两个优先级,即禁用中断和抢占中断。由于没有第三种选择,因此优先级倒置是不可能的。
优先继承
此解决方案暂时将正在执行的低优先级任务的优先级提升为需要资源的最高优先级任务。这意味着中等优先级的任务无法干预并导致优先级倒置。
无阻塞
通过避免在低优先级任务阻止高优先级任务时进行阻止,可以避免优先级倒置。
随机提升
就绪任务的优先级可以随意提高,直到它们退出关键部分。