2012 操作系统 银行家算法安全序列 选择题
第 27 题

假设 5 个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3,这些资源总数分别为 18、6、22。T0 时刻的资源分配情况如下表所示,此时存在的一个安全序列是( )。

银行家算法

A. $P_0, P_2, P_4, P_1, P_3$

B. $P_1, P_0, P_3, P_4, P_2$

C. $P_1, P_2, P_3, P_0, P_4$

D. $P_3, P_2, P_1, P_0, P_4$

[tag_link]

正确答案:D

首先求得各进程的需求矩阵 Need 与可利用资源矢量 Available: 比较 Need 和 Available 可以发现,初始时进程P1与P3可满足需求,排除 A、C。尝试给P1分配资源,则P1完成后 Available 将变为 (6,3,6),无法满足P0的需求,排除 B。尝试给P3分配资源,则P3完成后 Available 将变为 (4,3,7),该向量能满足其他所有进程的需求。所以,以P3开头的所有序列都是 安全序列