循环调度是否会导致死锁?如果CPU调度基于循环法,并且在调度中的一个点上发生了什么,两个不同的进程会请求相同的文件,而没有进程拥有该文件?这会导致死锁,还是将文件提供给计划的下一步要执行的进程?循环调度和死锁
Q
循环调度和死锁
0
A
回答
1
您描述的情况不会导致死锁。锁是原子的,所以一次只能有一个进程。因此,无论哪个进程在当时有控制权,都将获得锁定,而第二个进程将失败。
但是,在更一般的情况下,RR调度中可能会发生死锁。考虑两个进程和两个锁。进程A获取锁1,然后使处理器进入进程B.进程B然后获取锁2并尝试获取锁1.因为锁1属于进程A,进程B将进入休眠状态。进程A唤醒并试图获取锁2.锁2仍然属于进程B,因此这两个进程都不能向前移动,并且发生死锁。
1
rr调度可能会发生死锁。例如,如果进程A请求并获取打印机但超出了其时间范围,并且processB碰巧有其正常的cpu突发时间等于其时间范围,则其执行将完成..然后它请求打印机哪个进程A仍然持有..当在队列尾部等待进入内存仍然由进程B保留时,此时发生死锁
相关问题
- 1. 没有循环的死锁
- 2. pthread_cond_wait fifo循环队列中的死锁
- 3. 并行循环上的死锁
- 4. 循环调度
- 5. 循环调度
- 6. 使用OpenMP和Eigen导致无限循环/死锁
- 7. 调试PyThread_acquire_lock死锁
- 8. WCF回调死锁
- 9. pthread_mutex_timedlock和死锁
- 10. Restkit和死锁
- 11. 为什么不是Java双重调度造成的死循环?
- 12. Python spyder调试死循环导入
- 13. ForkJoinPool并行度= 1死锁
- 14. Swift 2.2:循环和调度队列
- 15. 了TerminateProcess和死锁
- 16. SQL Server 2000 - 调试死锁
- 17. 如何调试死锁?
- 18. 循环执行(CE)调度
- 19. Zend调度循环问题
- 20. Postgresql锁死锁
- 21. 登录和注销导致死循环
- 22. 循环枚举的PLINQ迭代导致死锁
- 23. C中的死循环
- 24. 死循环返回错误
- 25. 如何杀死while循环?
- 26. 打破死循环芹菜
- 27. Autoit死循环问题
- 28. Python线程和锁定:死锁
- 29. 死锁锁()方法
- 30. 锁分区死锁