【发布时间】:2017-02-17 10:20:13
【问题描述】:
Silberschatz/Galvin 的“操作系统原理”一书(第 9 版)以及 Wikipedia 上关于优先级反转的文章都说,在优先级反转中,高优先级进程不能使用低优先级进程持有的资源优先级进程作为中优先级进程抢占低优先级进程并获取该资源。但是如果是这样(即,如果允许基于优先级的抢占)为什么高优先级进程不能抢占低优先级进程本身并获取资源?
以下是本书和维基百科文章中提到的内容:
考虑两个任务 H 和 L,分别具有高和低优先级, 其中任何一个都可以获得共享资源 R 的独占使用权。如果 H 在 L 获得 R 后尝试获得 R,然后 H 被阻塞 直到 L 放弃资源。共享专属资源 (在这种情况下为 R)在设计良好的系统中通常涉及 L 立即放弃 R,以便 H(更高优先级的任务)不会 长时间处于阻塞状态。尽管设计不错, 然而,中等优先级的第三个任务 M (p(L)
【问题讨论】:
标签: process operating-system semaphore preemption