问答题 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 的请求。