网络操作系统中的银行家算法是什么?

希望有人能给我一个详细的资料讲解,同时举个例子详细说明一下... 希望有人能给我一个详细的资料讲解,同时举个例子详细说明一下 展开
 我来答
匿名用户
2014-01-01
展开全部
利用银行家算法避免死锁
. 银行家算法
设Requesti是进程Pi的请求向量,如果Requesti[j]=K,表示进程Pi需要K个Rj类型的资源。当Pi发出资源请求后,系统按下述步骤进行检查:�
(1) 如果Requesti[j]≤Need[i,j],便转向步骤2;否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。
(2) 如果Requesti[j]≤Available[j],便转向步骤(3);否则, 表示尚无足够资源,Pi须等待。
(3) 系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值:�
Available[j]∶=Available[j]-Requesti[j];�
Allocation[i,j]∶=Allocation[i,j]+Requesti[j];�
Need[i,j]∶=Need[i,j]-Requesti[j];�
(4) 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则, 将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。
(3) 系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值:�
Available[j]∶=Available[j]-Requesti[j];�
Allocation[i,j]∶=Allocation[i,j]+Requesti[j];�
Need[i,j]∶=Need[i,j]-Requesti[j];�
(4) 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则, 将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。
(3) 系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值:�
Available[j]∶=Available[j]-Requesti[j];�
Allocation[i,j]∶=Allocation[i,j]+Requesti[j];�
Need[i,j]∶=Need[i,j]-Requesti[j];�
(4) 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则, 将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。
北京天空卫士网络安全技术有限公司
2020-12-31 广告
判断一个 数据安全管理公司的好坏,不只是看价格,还要考虑很多因素。建议可以多对比几个看看。您可以到北京天空卫士网络安全技术有限公司了解下。北京天空卫士网络安全技术有限公司是一家总部设立在北京经济技术开发区的数据安全技术企业。天空卫士致力于发... 点击进入详情页
本回答由北京天空卫士网络安全技术有限公司提供
匿名用户
2014-01-01
展开全部
避免系统产生死锁的算法
所谓死锁,是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象。如果没有外力作用,则会一直下去。
比如,进程A需要 R1 R2 R4资源才能继续运行,进程B需要R2 R3 R4资源
现在A进程占用了R1 R4资源,B占有R2 R3
A等待B占用的R2才能结束并释放现在占有的R1 R4,B在等到R4资源前不会释放R2资源
A和B互相占用对方需要的资源,并且互相等待对方释放资源,就产生死锁

银行家算法就是为防止死锁,在A申请所需资源时,像银行家贷款一样,如果A贷款数大于银行家的资本
银行家不会贷款给A。也就是 电脑不分配给A所需资源,当有足够资源时分配给A,A运行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式