假定系统中有5个进程P1、P2、P3、P4和P5;3类资源A、B和C,其资源数量分别为17、5和20。T0时刻的资源分配情况如下表,系统采用银行家算法实施死锁避免策略,试问T0时刻,给出分析过程系统的状态。
|
最大资源需求 |
已分配资源数量 | |||||
|
A |
B |
C |
A |
B |
C | |
|
P1 |
5 |
5 |
9 |
2 |
1 |
2 |
|
P2 |
5 |
3 |
6 |
4 |
0 |
2 |
|
P3 |
4 |
0 |
11 |
4 |
0 |
5 |
|
P4 |
4 |
0 |
5 |
2 |
0 |
4 |
|
P5 |
4 |
2 |
4 |
3 |
1 |
4 |
答:
系统剩下的资源:
A:17-2-4-4-2-3=2
B:5-1-0-0-0-1=3
C:20-2-2-5-4-4=3
每个进程还需要的剩余资源 = 最大资源需求 - 已分配资源数量
|
最大资源需求 |
已分配资源数量 |
还需要的资源 |
系统剩余的资源 | |||||||||
|
A |
B |
C |
A |
B |
C |
A |
B |
C |
A |
B |
C | |
|
P1 |
5 |
5 |
9 |
2 |
1 |
2 |
3 |
4 |
7 |
2 |
3 |
3 |
|
P2 |
5 |
3 |
6 |
4 |
0 |
2 |
1 |
3 |
4 | |||
|
P3 |
4 |
0 |
11 |
4 |
0 |
5 |
0 |
0 |
6 | |||
|
P4 |
4 |
0 |
5 |
2 |
0 |
4 |
2 |
0 |
3 | |||
|
P5 |
4 |
2 |
4 |
3 |
1 |
4 |
1 |
1 |
0 | |||
系统安全性分析:
Work(可分配给各进程的资源数目):初始值为系统剩余的资源(2,3,3)
Need(还需要的资源) Allocation(已分配资源数量)
Finish(此次检查中是否被满足):初始均为F
|
Work |
Need |
Allocation |
Work+Allocation |
Finish | |||||||||
|
A |
B |
C |
A |
B |
C |
A |
B |
C |
A |
B |
C | ||
|
P4 |
2 |
3 |
3 |
2 |
0 |
3 |
2 |
0 |
4 |
4 |
3 |
7 |
T |
|
P2 |
4 |
3 |
7 |
1 |
3 |
4 |
4 |
0 |
2 |
8 |
3 |
9 |
T |
|
P3 |
8 |
3 |
9 |
0 |
0 |
6 |
4 |
0 |
5 |
12 |
3 |
14 |
T |
|
P5 |
12 |
3 |
14 |
1 |
1 |
0 |
3 |
1 |
4 |
15 |
4 |
18 |
T |
|
P1 |
15 |
4 |
18 |
3 |
4 |
7 |
2 |
1 |
2 |
17 |
5 |
20 |
T |
T0时刻,系统处于安全状态。安全序列为<P4,P2,P3,P5,P1>
3010

被折叠的 条评论
为什么被折叠?



