ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【操作系统】银行家算法的例题详解

2020-06-26 13:40:30  阅读:1991  来源: 互联网

标签:操作系统 Work Request Allocation 进程 详解 Need 例题


在上一篇博客中已经说了银行家算法的实现,这一篇就是理解银行家算法的实质,就是如何计算。

银行家算法的例题详解

必知

(1) 可利用资源向量Available。(2) 最大需求矩阵Max。
(3) 已分配给该进程的资源Allocation。(4) 需求矩阵Need。

例题一:

题目:

就验证我在上一篇博客中银行家算法中的结果

已知的是这个
在这里插入图片描述
1、A、B、C、D4类资源分别还剩1、5、2、0个现在系统是否处于安全状态?
2、如果现在进程Pl提出需要(0、4、2、0)个资源的请求,系统能否满足它的请求?

答案:
在这里插入图片描述
存在安全序列,p0-p2-p1-p3-p4

2、

对P1请求0420

Request(0420)<Need_p1(0750)
Request(0420)<Allocation(1000)
在这里插入图片描述

例题二:

题目:
在这里插入图片描述
1、该状态是否安全?
2、若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?

答案:
在这里插入图片描述
所谓安全序列不唯一。
在这里插入图片描述

解题思路:

1、 先求need矩阵。是Max-Allocation就得到Need矩阵。
2、 系统安全性分析,Work、Need、Alloaction、Work+Allocation,
3、 第一个进程。Work的初始化等于Available,然后Need、Alloaction都是填写步骤一对应的need。Work+Allocation也就是加法。
4、 关于安全序列并不唯一,就比较work跟need,Need[i, j]≤Work[j];就可以选择执行。
5、 第二个进程的Work是第一行的Work+Allocation,第一个进程已经结束释放掉了。后面对应的都是这样
6、 如果所有进程的Finish[i]=true都满足,则表示系统处于安全状态;
7、 关于请求Request,首先判断与need,Available大小。然后假设满足。将Request的值跟原Allocation相加得到新Allocation,Available也要减少对应的值。
8、 每个进程还需要多少进程才能满足,即Request的值 = Need - Allocation

制作人:只识闲人不识君
日期:2020.06.25

标签:操作系统,Work,Request,Allocation,进程,详解,Need,例题
来源: https://blog.csdn.net/weixin_46069678/article/details/106960153

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有