在银行家算法中,若出现下述资源分配状况

max allocation available
p0 633 110 231
p1 321 201
p2 522 102
p3 442 431
p4 444 112
请问:(1)该状态是否安全? (2)如果P0提出请求(2,2,0),系统能否将资源分配给他? (3)如果进程p0提出请求(2,3,0),系统能否将资源分配给他?(要求写出安全性检测过程)

第1个回答  2013-01-14
所谓系统是否安全,看是否能够找到一个安全序列。若能,则是安全状态。这道题中安全序列很多。如{p1,p2,p3,p4,p0}等等。至于第二问嘛,你这里明明只有一种资源,怎么提出三种资源申请?。一定是LZ信息没给全啊。而且给的数大小相差也太大了,是同一道题中吗?以下是
银行家算法步骤
(1)如果Requesti<=Need,则转向步骤(2);否则,认为出错,因为它所需要的资源数已超过它所宣布的最大值。(Requesti为申请的资源数)
(2)如果Request<or=Available,则转向步骤(3);否则,表示系统中尚无足够的资源,进程必须等待。
(3)系统试探把要求的资源分配给进程Pi,并修改下面数据结构中的数值:
Available=Available-Request[i];
Allocation=Allocation+Request;
Need=Need-Request;
(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。

纯手打,求加分。。本回答被提问者采纳