前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >操作系统--死锁避免(银行家算法)

操作系统--死锁避免(银行家算法)

作者头像
风骨散人Chiam
发布2021-09-06 15:19:21
8430
发布2021-09-06 15:19:21
举报
文章被收录于专栏:CSDN旧文
  • 可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。如果Available[j]=K,则表示系统中现有Rj类资源K个。
  • 最大需求矩阵Max。这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。
  • 分配矩阵Allocation。这也是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的数目为K。
  • 需求矩阵Need。这也是一个n×m的矩阵, 用以表示每一个进程尚需的各类资源数。 如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。
  • Need[i,j]=Max[i,j]−Allocation[i,j]

假定系统中有五个进程{P0, P1, P2, P3, P4}和三类资源{A, B, C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图所示。

P1请求资源:P1发出请求向量Request1(1,0,2),系统按银行家算法进行检查:

  • ① Request1(1, 0, 2)≤Need1(1, 2, 2)
  • ② Request1(1, 0, 2)≤Available1(3, 3, 2)
  • ③ 系统先假定可为P1分配资源,并修改Available, Allocation1和Need1向量,由此形成的资源变化情况如中的红色字体所示。
  • ④ 再利用安全性算法检查此时系统是否安全。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 假定系统中有五个进程{P0, P1, P2, P3, P4}和三类资源{A, B, C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图所示。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档