问答题
现有五个进程A、B、C、D、E共享R1、R2、R3、R4这四类资源,进程对资源的需求量和目前分配情况如表6-3所示。若系统还有剩余资源数分别为R1类2个,R2类6个,R3类2个和R4类1个,请按银行家算法回答下列问题:
表6-3 进程资源分配表 进程 | 已占资源数 | 最大需求量 | | R1 | R2 | R3 | R4 | R1 | R2 | R3 | R4 | A | 3 | 6 | 2 | 0 | 5 | 6 | 2 | 0 | B | 1 | 0 | 2 | 0 | 1 | 0 | 2 | 0 | C | 1 | 0 | 4 | 0 | 5 | 6 | 6 | 0 | D | 0 | 0 | 0 | 1 | 5 | 7 | 0 | 1 | E | 5 | 3 | 4 | 1 | 5 | 3 | 6 | 2 | |
问答题
目前系统是否处于安全状态?
【正确答案】系统目前尚余有的资源数为(2,6,2,1),五个进程尚需的资源数分别是:
A:(2,0,0,0);B:(0,0,0,0):C:(4,6,2,0);D:(5,7,0,0);E:(0,0,2,1):
由于进程B己满足了全部资源需求,它在有限时间内会归还这些资源,因此可分配资源达到(3,6,4,1),这样就可分配给进程A;等A归还资源后,可分配资源达到(6,12,6,1),再分配给进程C;之后可分配资源会达到(7,12,10,1),分配给进程D并等待一段时间后,可分配资源将达到(7,12,10,2),最后,可分配给进程E,满足其全部请求。所以说目前系统处于安全状态。
【答案解析】
问答题
现在如果进程D提出申请(2,5,0,0)个资源,系统是否能为它分配资源?
【正确答案】若此时给进程D分配(2,5,0,0)个资源,进程D尚需(3,2,0,0),则系统剩余的资源量为(0,1,2,1);若待进程B归还资源后,可分配资源能达到(1,1,4,1),根据各进程尚需资源量,只有先满足E的资源需求,待它归还资源后,可配资源只有(1,1,6,1),显然无法满足进程A,C,D中任何一个进程的资源要求,这样系统就会产生死锁。所以此时系统不能为进程D分配(2,
5,0,0)个资源。
【答案解析】