循环调度是否会导致死锁?如果CPU调度基于循环,并且在调度中的某一点,两个不同的进程请求没有进程拥有的同一文件,会发生什么?这会导致死锁还是将文件提供给应该在计划的下一步执行的进程?
答案 0 :(得分:1)
您描述的案例不会导致死锁。锁是原子的,因此一次只能有一个进程。因此,当时控制的任何进程都将获得锁定,第二个进程将失败。
但是,在更一般的情况下,RR调度中可能发生死锁。考虑两个进程和两个锁。进程A获取锁1,然后将处理器生成进程B.进程B然后获取锁2并尝试获取锁1.由于锁1属于进程A,因此进程B将休眠。进程A唤醒并尝试获取锁2.锁2仍然属于进程B,因此任何进程都不能继续前进并且您有死锁。
答案 1 :(得分:1)