📜  门| GATE-CS-2007 |第57章

📅  最后修改于: 2021-06-28 17:50:32             🧑  作者: Mango

单个处理器系统具有三个资源类型X,Y和Z,这三个资源类型由三个进程共享。每种资源类型有5个单位。考虑以下情形,其中列alloc表示分配给每个进程的每种资源类型的单元数,列请求表示进程为完成执行而请求的每种资源类型的单元数。这些过程中的哪一个将在LAST结束?

alloc           request
    X Y Z            X Y Z
P0  1 2 1            1 0 3
P1  2 0 1            0 1 2
P2  2 2 1            1 2 0 

(A) P0
(B) P!
(C) P2
(D)以上都不是,因为系统处于僵局答案: (C)
说明:单个处理器系统具有三种资源类型X,Y和Z,它们由三个进程共享。每种资源类型有5个单位。

因此,剩下的资源实例尚未分配= <0,1,2> {未分配资源=已分配资源总数}

现在,从请求表中,您可以说只能满足P1的请求。因此,P1可以先完成其执行。 P1完成后,将释放2、0和1个单位的X,Y和Z
因此,现在未分配的资源实例为= <0,1,2> + <2,0,1> = <2,1,3>

现在,在P0和P2中,只能满足P0的需求。至此P0完成执行。 P2完成后,它将释放分别分配给P2.SO的2、2和1个X,Y和Z单位,现在未分配的资源实例为= <2,1,3> + <2,2,1> = <4,3,4>。最后,P2完成其执行。因此,P2是最终完成的过程。

选项(C)是正确的答案。

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

参考:
http://quiz.geeksforgeeks.org/operating-system-bankers-algorithm/

该解决方案由Nitika Bansal提供
这个问题的测验