(1)Available【j】=k系统中现有Rj类资源K个 假定系统中有5个进程{P0,P1,P2,P3,P4}和三类资源{A,B,C}各种资源的数目分别是10,5,7,T0时刻的资源分配情况如下表 对应两个进程为P1.P3(两个都可以选择),我先选P1 设requesti是进程Pi的请求向量 假设系统资源的分配和剩余情况如下 作者也是一个大二的小菜鸟,有错误请指出,没错误请以免迷路
知识点
(2)Max【i,j】=k进程i需要Rj类资源最大数目为K个
(3)Allocation【i,j】=k表示进程i当前已分配Rj类资源的数目为K个
(4)need【i,j】=k表示进程i还需要Rj类资源数目K个
need=Max-Allocation安全性算法举例
(1)第一步:先利用公式Need=Max-Allocation求出Need
Max矩阵-Allocation矩阵=Need矩阵
(2)第二步:将Available向量和Need矩阵的各行进行比较
找出Available小于Need的加入安全序列
例如在初始时(3,3,2)>(1,2,2)(p1) (3,3,2)>(0,1,1) (p2)
(3)第三步:释放P1所占的资源
Available=Allocation(P1)+Available
(3 3 2)+(2 0 0)=(5 3 2)
此时Need矩阵更新为
(4)重复(2)最后得到一个安全序列{P1,P3,P4,P2,P0}知识点
Requesti[j]=K表示进程Pi需要j类资源K个
当Pi发出资源请求后,系统按下述步骤进行检查 (1)若Request~i~[j]<=Need[i,j]转向步骤(2);否则认为出错,因为他所需的资源数已经超过他所宣布的最大值 (2)若Request~i~[j]<=Available[j]则转向步骤(3),否则尚无资源,pi (3)系统试探着把资源分配给进程pi,并修改下面数据结构中的数值 Available=Available-Request~i~ Allocation[i,j]=Allocation[i,j]+Request ~i~[j] Need[i,j]=Need[i,j]-Request~i~[j] (4)系统执行安全算法,检查此次资源分配后,系统是否处于安全状态,若安全才正式将资源分配给进程P~i~,已完成本次分配;否则将此次的试探分配作废,恢复原来的资源分配状态,让进程P~i~等待
银行家算法举例
(1)P1请求资源:P1发出请求向量
Request1(1,0,2),系统按银行家算法进行检测: Request1(1,0,2)<=Need1(1,2,2) Request1(1,0,2)<=Available1(3,3,2) 资源分配给进程P1,并修改 Available=Available-Request~1~=(2,3,0) Allocation1=Allocation1+Request ~1~(3,0,2) Need1=Need1-Request~1~(0,2,0) 此时资源发生变化 Available=(2,3,0)按照安全算法检查是否安全找到安全序列
找到一个安全序列{P1,P3,P4,P2,P3,P0}
所以系统是安全的可以立即将P1所申请的资源分配给他,分配后资源如上表。
(2)P4请求资源:
P4发出请求向量Request4(3,3,0),系统按照银行家算法进行检查 Request4(3,3,0)<=Need4(4,3,1) Request4(3,3,0)<=Available4(2,3,0)(不成立)所以让P4等待
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算