操作系统死锁与调度关键知识点总结

需积分: 0 1 下载量 130 浏览量 更新于2024-08-05 收藏 138KB PDF 举报
操作系统练习题3答案解析: 1. 正确。系统发生死锁时,其资源分配图中必然存在环路。这是因为死锁通常发生在两个或更多进程之间,它们相互等待对方持有的资源,形成资源请求的循环,导致无法继续执行。 2. 错误。虽然死锁会导致进程无法继续,但并不是所有进程都无法运行。未参与死锁的进程仍然可以运行,只是可能被阻塞在等待其他进程释放资源的状态。 3. 正确。所有进程都挂起时,意味着它们都处于等待状态,没有进程能执行下一步操作,系统确实陷入了死锁。 4. 错误。优先数是进程调度的重要依据,它反映了进程的优先级,但并不一定是一旦确定就不能改变的。在某些调度算法中,优先级可以根据进程的需求和状态动态调整。 5. 正确。采用最高响应比优先作业调度算法,可以尽可能让CPU时间分配给需要服务时间最短的作业,从而优化平均周转时间。 6. 错误。进程优先数应当根据需要灵活调整,而不是静态不变,以确保资源的有效利用。 7. 正确。参与死锁的进程必须占有至少一项资源,且至少有一个进程还在等待其他进程持有的资源。 8. 正确。系统处于不安全状态是指满足了死锁的四个必要条件(互斥、占有并保持、非剥夺和循环等待),但不一定立即导致死锁,只有在这些条件同时满足且无资源可供新请求的进程时才会死锁。 9. 正确。在m个进程中可能出现死锁,最少有一个死锁进程,最多是全部进程,即死锁进程数量在1到m之间。 10. 错误。优先数大的进程不一定首先被调度,这取决于具体的调度策略,如抢占式优先级调度可能优先考虑更紧急或响应更快的进程。 11. 正确。死锁涉及至少两个进程,它们至少占有一个资源并且都在等待其他资源。 12. 错误。不可抢占式动态优先数法可能导致某些进程长时间等待,但这并不意味着一定会引起进程长时间得不到运行,它依赖于调度策略和进程的优先级变化。 13. 正确。当所有进程都进入等待状态时,表明它们都被阻塞,系统进入了死锁状态。 14. 正确。进程从运行状态变为等待状态可能是由于多种原因,比如时间片用完或者请求新资源时被阻塞。 15. 正确。产生死锁的根本原因是资源的有限性和进程之间的竞争,当需求超过供应时,如果没有适当的资源分配策略,就可能导致死锁。 16. 错误。一个进程提出资源请求得不到满足,并不一定立即导致死锁,只有当这个请求形成循环等待时才可能发生死锁。 17. 正确。题目中的资源限制(每个进程最多申请2个资源,总共4个资源可供3个进程共享)不足以形成死锁条件,因为资源总数大于最大进程需求的两倍。 18. 正确。破坏死锁的任何一个必要条件都可以预防死锁,例如避免循环等待或设置资源预分配等策略。 这些题目涵盖了操作系统中死锁的概念、调度策略、死锁的必要条件及其预防方法等多个知识点。