避免死锁的一个著名算法

上传人:大米 文档编号:464114990 上传时间:2023-04-19 格式:DOCX 页数:2 大小:17.69KB
返回 下载 相关 举报
避免死锁的一个著名算法_第1页
第1页 / 共2页
避免死锁的一个著名算法_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《避免死锁的一个著名算法》由会员分享,可在线阅读,更多相关《避免死锁的一个著名算法(2页珍藏版)》请在金锄头文库上搜索。

1、避免死锁防止死锁是消除死锁的静态策略。 这使得死锁不能同时满足四个必要条件, 从而限制了流程应用程序资源的活动, 以确保不会发生死锁。接下来,我们将介绍消除死锁的动态策略- 避免死锁。它不限制进程有关请求资源的命令。 相反, 它动态检查每个请求是否有进程发出的资源,并根据检查结果确定是否分配资源。换句话说,在资源分配过程中,如果可以预测出现死锁的可能性,则可以避免死锁。该方法的关键是确定资源分配的安全性。1. 安全顺序我们首先介绍安全性序列的定义: 所谓的系统是安全的, 这意味着系统中的所有进程都可以按照一定顺序分配资源并依次完成运行。该过程序列 P1 , P2, ., PN 是安全序列。 如

2、果有这样的安全序列,则系统是安全的;如果没有这样的安全序列,则系统不安全。安全序列 P1 , P2 , ., PN 的组成如下: 如果对于每个流程PI,可以通过系统中当前可用资源的总和加上当前由系统占用的资源来满足其所需的其他资源。 所有进程 PJ, 然后 P1 , P2 , ., PN 是一个安全序列,系统处于安全状态,不会进入死锁状态。尽管在有安全序列时必须没有死锁, 但是当系统进入不安全状态(同时发生四个死锁的必要条件)时,可能不会发生死锁。当然,死锁后,系统必须处于不安全状态。2.Banker 算法一句话:银行家的算法首先尝试为该流程分配资源, 然后通过安全算法判断分配的系统是否处于安全状态。 如果不安全,则试用分配将作废,并且该过程将继续等待。当流程发出资源请求时, 银行算法将执行以下步骤来决定是否向其分配资源:1 )检查过程所需的资源是否已超出其声明的最大值。2 )检查系统当前是否有足够的资源来满足该过程的请求。3 )系统尝试为进程分配资源并获得新状态。4)如果新状态是安全的,则分配完成;如果新状态不安全,则将还原原始状态并阻止该过程。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号