这两个概念都属于操作系统中的优先级调度。但它们是一样的吗?
一方面,优先级反转是一个问题,而优先级继承是一个解决方案。从字面上看,优先级反转意味着任务的优先级被反转,优先级继承意味着任务的优先级被继承。这两种现象都发生在优先级调度中。基本上,在Priority Inversion 中,当 H 与较低优先级任务 (L) 共享临界区并且 L 已经处于临界区时,较高优先级任务 (H) 最终会等待中等优先级任务 (M)。实际上,H 等待 M 导致优先级倒置,即优先级倒置。此问题的解决方案之一是Priority Inheritance 。在Priority Inheritance 中,当 L 处于临界区时,L 在 H 开始为临界区挂起时继承 H 的优先级。通过这样做,M 不会中断 L 并且 H 不会等待 M 完成。请注意优先级的继承是暂时完成的,即当 L 离开临界区时,L 会回到原来的优先级。
可以在此处找到有关这些的更多详细信息。
如果您觉得以上有用,请点赞/推特/G+1。另外,请给我们留言以获得进一步的说明或信息。我们很乐意帮助和学习🙂