单个处理器系统具有三个资源类型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个单位。
因此,剩下的资源实例尚未分配
现在,从请求表中,您可以说只能满足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提供
这个问题的测验