【发布时间】:2017-05-29 12:46:11
【问题描述】:
假设您有两个进程,P1 和 P2。 P1 具有高优先级,P2 具有低优先级。 P1 和 P2 有一个共享的信号量(即,它们都在同一个信号量上执行等待和发布)。进程可以以任意顺序交错(例如,P2 可以在 P1 之前启动)。
简要说明进程在以下情况下是否会死锁:
二。两个进程都作为分时任务在 Linux 系统上运行
三。这两个进程都作为可变任务在 Windows 7 系统上运行
四。这两个进程都作为实时任务在 Windows 7 系统上运行。
我认为 P1 和 P2 只能导致优先级倒置。根据死锁的要求之一(循环等待:有两个或多个进程的循环链,等待其他进程持有的资源),优先级反转不等于死锁。此外,P1 和 P2 只有 1 个信号量,这意味着不会有循环,所以它们永远不会导致死锁。因此,所有的答案都将是否定的。 那是对的吗?如果不是,那答案是什么?
【问题讨论】:
标签: linux windows operating-system deadlock priority-inversion