问题 单项选择题

假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为8、7和4。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如表所示。在T0时刻系统剩余的可用资源数分别为 (26) 。如果进程按 (27) 序列执行,那么系统状态是安全的。

(27)处填()。

A.P1→P2→P4→P5→P3

B.P2→P1→P4→P5→P3

C.P4→P2→P1→P5→P3

D.P4→P2→P5→P1→P3

答案

参考答案:D

解析:

[分析]: 所谓安全状态,是指系统能按照某种顺序如<P1,P2,…,Pn>来为每个进程分配其所需资源,直至最大需求,使每个进程都可顺利完成。通常称<P1,P2,…,Pn>序列为安全序列。若系统不存在这样一个安全序列,则称该系统处于不安全状态。

先看第26题,首先求剩下的资源数。

R1=8-(1+2+2+1+1)=1

R2=7-(1+1+1+2+1)=1

R3=4-(1+1+1+1)=0

可知在T0时刻系统剩余的可用资源数分别为1、1和0,且系统不再为R3分配资源,所以不能一开始就运行需要分配R3资源的进程。由题表可知,进程P1、P2、P5都需要再分配一个R3资源,所以排除A选项和B选项。

现在看27题的C选项P4→P2→P1→P5→P3。如果进程可以完成就设置标志T,如下表所示。

因为系统的可用资源数为(1,1,0),而进程P4只需要一个R1资源;进程P2可以设置完成标志T,因为进程P4运行完毕将释放所有资源,此时系统的可用资源数应为(2,3,1),而进程P2只需要(0,1,1);进程P2运行完毕将释放所有资源,此时系统的可用资源数应为(4,4,2),进程P1不能设置完成标志T,因为进程P1需要资源R1的数目为5,系统只能提供4个R1资源,所以序列无法进行下去。所以C选项的序列是不安全的。

[*]

D选项的序列是安全的,如下表所示。

[*]

单项选择题 案例分析题
单项选择题