3种资源A(17)、B(5)、C(20),5个进程P
1、P
2、P
3、P
4、P
5,初始时刻的系统状态(见下表):
进程 |
最大资源需求量 |
已经分配的数量 |
剩余的数量 |
A |
B |
C |
A |
B |
C |
A |
B |
C |
P1 |
5 |
5 |
9 |
2 |
1 |
2 |
2 |
3 |
3 |
P2 |
5 |
3 |
6 |
4 |
0 |
2 |
P3 |
4 |
0 |
11 |
4 |
0 |
5 |
P4 |
4 |
2 |
5 |
2 |
0 |
4 |
P5 |
2 |
4 |
3 |
1 |
4 |
|
【正确答案】由题目所给出的最大资源需求量和已分配资源数量,可以计算出T0时刻各进程的资源需求量Need。Need=最大资源需求量。如下表所示。 进程 最大资源需求量 已经分配的数量 资源需求量 剩余的数量 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 2 5 2 0 4 2 2 1 P5 4 2 4 3 1 4 1 1 0 初始时刻,系统处于安全状态,存在安全序列:P5,P4,P3,P2,P1。
【答案解析】
问答题
如果P2请求资源(0,3,4),能否实施资源分配?
【正确答案】在T0时刻若进程P2请求资源(0,3,4),因请求资源数(0,3,4)>剩余资源数(2,2,3),所以不能分配。
【答案解析】
问答题
在(2)的条件下,P4请求(2,0,1)能否实现资源分配?为什么?
【正确答案】在(2)的基础上,若进程P4请求资源(2,0,1),按银行家算法进行检查: P4请求资源(2,0,1)<=P4资源需求量(2,2,1) P4请求资源(2,0,1)<=剩余资源数(2,3,3) 分配资源后,系统剩余的资源数量为(0,3,2),不能分配给任意一个进程,而且P4进程也无法继续执行,因此,系统不存在安全序列,不会响应P4的请求。
【答案解析】