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

📅  最后修改于: 2021-09-24 05:15:33             🧑  作者: Mango

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

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 

(一) P0
(乙) 对
(C) P2
(D)以上都不是,因为系统处于死锁答案: (C)
说明:单处理器系统具有三种资源类型 X、Y 和 Z,由三个进程共享。每种资源类型有 5 个单位。

因此,未分配的资源实例 = { 未分配的资源 = 总资源分配的资源 }

现在,从请求表中,可以说只有 P1 的请求可以得到满足。所以P1可以先完成它的执行。一旦 P1 完成,它会释放 2、0 和 1 个单位的 X、Y 和 Z
分别分配给 P1.So,现在未分配的资源实例是 = + =

现在在P0和P2中,只能满足P0的需要。这样 P0 就完成了它的执行。一旦P2完成,它分别释放2,2和1个单位的X、Y和Z,这些单位分配给P2.SO,现在未分配的资源实例是= + =。最后,P2 完成执行。所以,P2是最终完成的过程。

选项(C)是正确答案。

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

参考:
https://www.geeksforgeeks.org/bankers-algorithm-in-operating-system-2/

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