1. 计算过程: 分配资源和最大资源题中以告知,需要计算的是含需要和可用资源 含需要:最大资源-分配资源=含需要 和计算向量一样可以把他们对应的值想象成坐标系中的(x、y、z)。 例如–P1: (5-2,4-1,9-2)计算出来的结果就是含需要的资源 可用资源:总的资源-分配资源和=可用资源 列如:(15-2-3-3-2-3,7-1-1,18-2-2-4-4-4)=(2,5,2) 2.是安全状态 过程: 我们现在可以使用的资源是(2,5,2)我们开始分配资源可以看到p3和p5都可以分配(就是可用资源-含需要! =0 )一般是从最少的开始计算开始计算p3:(2,5,2)-(0,0,1) =(2,5,1) p3得到了资源就可以运行了,运行完成后就需要归还资源所以我们用剩下的资源+它归还的资源(满足最大资源就可以运行)(2,5,2)+(3,0,5)=(5,5,7)依次类推 p3:(2,5,2)-(0,0,1) +(3,0,5)=(5,5,7) p4: (5,5,7)-(3,2,1)+(5,2,5)=(7,5,11) … 这样我们可以得到安全序列为:p3 p4 p5 p1 p2 3.、不能 理解: t0时刻它请求资源这时它所需资源为(3,0,3)而可用资源为(2,5,2)相减小于0 所以不能 4.可以 可以得到安全序列为 p3 p4 p5 p1 p2 和第一题一样看它是否可以得到安全序列,若有安全序列则可以实施资源分配否则不可以 什么是银行家算发? 简单来说他是模拟了银行的借贷系统、解决死锁问题的算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的 ,保证了系统的安全运行。 什么是死锁? 比如进程A占了一个资源1,他需要资源2,这时资源2被进程B占领而他需要资源1,狭路相逢,勇者胜。而这俩货都比较怂,就一直等着对方把资源释放出来,这样就产生了死锁。 这时候银行家算法产生了,它是借助于银行家借贷时的策略而产生的一种算法,基本思想为两个模块,一个是主模块即银行家算法模块,第二个是安全性检查模块,银行家算法模块要做的是当又进程申请资源时,先检查当前系统是否能够满足进程的需求,如果能满足就试分配,程序进入安全性检查模块,如果不能满足就拒绝申请,从而保证资源不会被“空手套白狼。再有一点就是银行家算法的数据结构是数组。
题
解:
T0
分配资源(Allcation)
最大资源(Claim)
含需要(Need)
可用资源
P1
(2、1、2)
(5、4、9)
(3、3、7)
(2、5、2)
P2
(3、0、2)
(4、3、5)
(1、3、3)
P3
(3、0、4)
(3、0、5)
(0、0、1)
P4
(2、0、4)
(5、2、5)
(3、2、1)
P5
(3、1、4)
(4、2、4)
(1、1、0)
银行家算法
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算