📜  门| GATE CS 2021 |设置 2 |第 53 题

📅  最后修改于: 2021-09-25 05:01:12             🧑  作者: Mango

考虑一个具有多种共享资源类型的计算机系统,每种资源类型有一个实例。每个实例一次只能由一个进程拥有。拥有和释放资源是通过持有全局锁 (L) 来完成的。以下方案用于拥有资源实例:

function OWNRESOURCE(Resource R)
    Acquire lock L // a global lock
    if R is available then
        Acquire R
        Release lock L
    else
        if R is owned by another process P then 
        Terminate P, after releasing all resources owned by P  
        Acquire R  
        Restart P
        Release lock L
        end if
    end if    
end function 

关于上述方案,以下哪个选项是正确的?
(A)该方案确保不会发生死锁
(B)该方案可能导致活锁
(C)该计划可能导致饥饿
(D)该方案违反互斥性质答案: (A) (B) (C)
说明: (A)该方案确保无死锁操作,因为不存在等待条件。

(B)该方案可能会导致优先级反转问题,因此活锁是可能的。

(C)该计划可能导致饥饿。例如,优先级进程可以被重复调度并不断杀死低优先级进程。因此,低优先级的进程可能会饿死。

(D)满足互斥,因为一次只有一个进程可以获取和释放锁。
这个问题的测验