假设您有两个进程,P1 和 P2。P1 具有高优先级,P2 具有低优先级。P1 和 P2 有一个共享的信号量(即,它们都在同一个信号量上执行等待和发布)。进程可以以任意顺序交错(例如,P2 可以在 P1 之前启动)。
简要说明在以下情况下进程是否会死锁:
ii. 两个进程都作为分时任务在 Linux 系统上运行
iii. 这两个进程在 Windows 7 系统上作为可变任务运行
iv. 这两个进程都作为实时任务在 Windows 7 系统上运行。
我认为P1和P2只能导致优先级倒置。根据死锁的要求之一(循环等待:有两个或多个进程的循环链,等待其他进程持有的资源),优先级反转不等于死锁。此外,P1 和 P2 只有 1 个信号量,这意味着不会有循环,所以它们永远不会导致死锁。因此,所有的答案都是否定的。那是对的吗?如果不是,那么答案是什么?