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