📜  门|门CS 2008 |第 85 题

📅  最后修改于: 2021-09-25 04:34:55             🧑  作者: Mango

下列哪项不适用于死锁预防和死锁避免方案?
(A)在死锁预防中,如果结果状态是安全的,则总是准许对资源的请求
(B)在死锁避免中,如果结果状态是安全的,则总是准许对资源的请求
(C)死锁避免比死锁预防的限制更少
(D)避免死锁需要先验的资源需求知识答案:(一)
解释:
死锁预防:死锁可以通过至少预防四种要求中的一种来防止

状况:

1.互斥——可共享资源不需要;必须持有不可共享的资源。

2. Hold and Wait——必须保证每当一个进程请求一个资源时,它不持有任何其他资源。要求进程在开始执行之前请求并分配其所有资源,或者仅当进程没有资源时才允许进程请求资源。资源利用率低;可能饿死。限制提出请求的方式。

3.无抢占——如果一个持有一些资源的进程请求另一个不能立即分配给它的资源,那么当前持有的所有资源都会被释放。被抢占的资源被添加到进程正在等待的资源列表中。只有当它可以重新获得旧资源以及它正在请求的新资源时,进程才会重新启动。

4.循环等待——强制所有资源类型的总排序,并要求每个进程以枚举的递增顺序请求资源。

死锁避免:

当调度程序看到启动进程或授予资源请求可能导致未来的死锁时,则该进程未启动或请求未授予。死锁避免算法动态检查资源分配状态以确保永远不会出现循环等待条件。资源分配状态由可用和已分配资源的数量以及进程的最大需求定义。

问题的选择:

(A) 在死锁预防中,如果结果状态是安全的,则总是准许对资源的请求。 false,死锁预防方案通过确保四个必要条件之一不发生来处理死锁。在死锁预防中,即使结果状态是安全的,对资源的请求也可能不被批准。

(B) 在死锁避免中,如果结果状态是安全的,则总是准许对资源的请求。是的,就像在死锁避免中一样,如果结果状态是安全的,并且资源请求被授予处于安全状态,那么它现在可以持有其他资源。

(C) 死锁避免比死锁预防的限制更少。是的,就像在死锁预防中一样,即使结果状态是安全的,对资源的请求也可能不会被批准。但是在避免死锁的情况下,如果结果状态是安全的,则批准对资源的请求。

(D) 死锁避免需要先验的资源需求知识,死锁避免检查任何发生死锁的机会意味着即使系统处于安全状态,它也会检查分配请求的资源后系统是否未处于死锁状态。因此,避免死锁需要先验的资源需求知识。

参见 https://www.geeksforgeeks.org/operating-systems-set-11/ 的问题 2

此解决方案由Nitika Bansal 提供

这个问题的测验