搜档网
当前位置:搜档网 › 银行家算法例子+复习资料

银行家算法例子+复习资料

1、设系统中有3种类型的资源(A,B,C)和5个进程P1、P

2、

P3、P4、P5,A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态见下表(T0时刻系统状态表)所示。系统采用银行家算法实施死锁避免策略。(12分)

T0时刻系统状态表

T0时刻系统状态表

(1)T0时刻是否为安全状态?若是,请给出安全序列。

(2)在T0时刻若进程P2请求资源(0,3,4),是否能实

施资源分配?为什么?

(3)在(2)的基础上,若进程P4请求资源(2,0,1),

是否能实施资源分配?为什么?

(4)在(3)的基础上,若进程P1请求资源(0,2,0),

是否能实施资源分配?为什么?

答:当前的系统状态描述为:

(1)

在T0时刻,由于V(2,3,3)大于等于()中P5所在行的向量(1,1,0),因此V能满足P5的运行,在P5运行后,系统的状态为:

同样的,在P5运行后,V’(5,4,7)也大于等于中P4所在的行(2,2,1),则能满足P4的运行。P4运行后,系统的状态为:

按照上述同样的方法,P4运行后,P3,P2,P1也能按顺序运行。(备注:考试时需要都写出来)。

因此,在T0时刻,存在安全序列:P5、P4、P3、P2、P1。

T0时刻是安全的。

(2)

P2申请资源(0,3,4),但在中,P2所在行向量是(1,3,4)。对于资源R1,P2的申请超过它所预定的需求。因此,该申请不给予分配。

(3)

A)P4申请(2,0,1)不超过中P4所在行的向量(2,2,1)。

B)V(2,3,3)大于等于P4的申请(2,0,1)

C)对P4的申请(2,0,1)进行预分配,预分配后,系统的状态为:

可用资源V(0,3,2)大于等于中P4所在的行(0,2,0),因此可以满足P4的运行。P4运行后,系统的状态为:

同样的方法(考试时需要列出),可计算出存在安全序列:P4,P5,P3,P2,P1。

因此,预分配后系统的状态是安全状态。

对于,P4请求资源(2,0,1),给予分配,分配后的系统新状态为:

(4)

进程P1请求资源(0,2,0)

A)P1申请(0,2,0)不超过中P1所在行的向量(3,4,7)。

B)V(0,3,2)大于等于P1的申请(0,2,0)

C)对P1的申请(0,2,0)进行预分配,预分配后,系统的状态为:

V(0,2,1)不大于等于P1到P5任一进程在中的向量,因此系统进行预分配后处于不安全状态。

对于P1申请资源(0,2,0),不给予分配。

相关主题