当前位置:文档之家› 银行家算法例子+答案

银行家算法例子+答案

1、设系统中有3种类型的资源(A , B , C )和5个进程P1、P
2、P3 P4 P5, A 资源的数量为
17, B 资源的数量为5, C 资源的数量为20。

在T o 时刻系统状 态见下表(T o 时刻系统状态表)所示。

系统米用银行家算法实施死锁避免策 略。

(12分)
T o 时刻系统状态表
T0时刻系统状态表
(1) T o 时刻是否为安全状态?若是,请给出安全序列。

(2) 在T o 时刻若进程P2请求资源(0, 3, 4),是否能实施资源分配?为 什么?
满足P5的运行,在P5运行后,系统的状态为:
2 1 2
3
4 7
4 o 2 1 3 4
A 4 o 5 C A o o 6 V' 5 4 7
2 o 4 2 2 1
o o o
o o o
同样的, 在 P5运行后,V ' (5, 4, 7)也大于等于 C-A 中P4所在的行(2, 2, 1),则能满
足P4的运行。

P4运行后,系统的状态为:

在(3) 的基; 础上, 若进程 P1 请求资源(o , 2, o ),是否能实施资源
分配?为什么 ,?
答: 当前 的系
统状态描述为:
5 5 9 2 1 2
3 4 7
5 3
6
4 o 2
1 3 4 C
4 o 11 A 4 o
5 C A o o 6
4 2
5 2 o 4
2 2 1
4 2 4
3 1 4
1 1 o
R 17 5 2o
V
2 3 3
(3)在(2)的基础上,若进程 分配?为什么?
P4请求资源(2, o , 1),是否能实施资源
(1)
在To 时刻,由于V (2, 3, 3)大于等于(C-A )中P5所在行的向量(1 , 1 ,。

),因此V 能
402 A 4 0 5 405 3 1
4 2 1 2 402
347 134
000
000
347 1 3 4 C A 0 0 6
020 4 2 4 3 1 4 110
2 1 2
3
4 7
4 0 2 1 3 4
A4 0 5C
A0 0 6 V'7 4 11 0 0 0 0 0 0 0 0 0
0 0 0
按照上述同样的方法,
P4运行后, P3,P2,P1 也能按顺序运行。

(备注:考试时需要都写出
来)。

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

T0 时刻是安全的。

(2)
P2申请资源(0, 3, 4),但在C-A 中,P2所在行向量是(1, 3, 4)。

对于资源R1, P2 的申请
超过它所预定的需求。

因此,该申请不给予分配。

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

B ) V (2, 3, 3)大于等于P4的申请(2, 0, 1)
C ) 对P4的申请(2, 0, 1)进行预分配,预分配后,系统的状态为:
2 1 2
3
4 7 134
C A 0 0 6
020
110
可用资源V (0, 3, 2)大于等于C-A 中P4所在的行(0, 2, 0),因此可以满足 P4的 运行。

P4运行后,
系统的状态为:
V'4 3 7
110
同样的方法(考试时需要列出) ,可计算出存在安全序列: P4,P5,P3,P2,P1。

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

对于,P4请求资源(2, 0, 1),给予分配,分配后的系统新状态为:
5 5 9 2 1 2 5 3
6 4 0 2 C 4
011 A 4
0 5 4 2 5
4 0 5
R 17 5 20
(4)
进程P1 请求资源(0,2,0)
A)P1申请(0, 2, 0)不超过C-A中P1所在行的向量(3, 4, 7)。

B)V(0,3,2)大于等于P1 的申请(0,2,0)
0对P 1 的申请(0, 2, 0) 进行预分配, 预分配后,系统的状态为
2 3 2 3 2 7
4 0 2 1 3 4
A4 0 5C A 0 0 6V 012
4 0
5 0 2 0
3 1
4 1 1 0
V(0, 2, 1)不大于等于P1到P5任一进程在C-A中的向量,因此系统进行预分配后处于不安全状态。

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

相关主题