综合百科

银行家算法例题

2024-08-19 07:51:09 来源:互联网转载或整理

银行家算法例题:

在避免死锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统性能。在该方法中把系统的状态分为安全状态和不安全状态,只要能使系统始终都处于安全状态,便可以避免发生死锁。

银行家算法的基本思想是分配资源之前,判断系统是否是安全的;若是,才分配。它是最具有代表性的避免死锁的算法。

设进程cusneed提出请求REQUEST [i],则银行家算法按如下规则进行判断。

(1)如果REQUEST [cusneed] [i]<= NEED[cusneed][i],则转(2);否则,出错。

(2)如果REQUEST [cusneed] [i]<= AVAILABLE[i],则转(3);否则,等待。

(3)系统试探分配资源,修改相关数据:

AVAILABLE[i]-=REQUEST[cusneed][i];

ALLOCATION[cusneed][i]+=REQUEST[cusneed][i];

NEED[cusneed][i]-=REQUEST[cusneed][i];

(4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。

安全性检查算法

(1)设置两个工作向量Work=AVAILABLE;FINISH

(2)从进程集合中找到一个满足下述条件的进程,

FINISH==false;

NEED<=Work;

如找到,执行(3);否则,执行(4)

(3)设进程获得资源,可顺利执行,直至完成,从而释放资源。

Work=Work+ALLOCATION;

Finish=true;

GOTO 2

(4)如所有的进程Finish= true,则表示安全;否则系统不安全。

算法(C语言实现)

本文标签: 银行家算法例题

其他文章

  • 阜新银行存款安全吗 阜新银行安全吗
  • 锰酸锂上市龙头 锰酸锂股票的简要分析
  • 海南矿业为什么不涨 海南矿业股票为什么不涨
  • 中华保险是大公司吗 中华保险公司规模怎么样
  • 590002分过红吗 中邮核心增长股票基金有分过红吗
  • 商贷转公积金麻烦吗 商转公的流程有哪些呢
  • 完全不懂基金怎么入门 基金入门的方法
  • 猪肉行业龙头股一览表 猪肉行业股票的简要分析
  • 人民币的单位换算 人民币有什么单位
  • 央企有哪些 央企的主要内容
  • 歌手刘惜君出道后发生了什么事(刘惜君为什么消失三年)
  • 叫停蚂蚁的老领导是谁(蚂蚁金服暂缓上市原因揭秘)
  • 芈华真实历史人物简介(大秦赋芈华结局是什么)
  • 韩国最经典的黑帮电影(十部好看的黑帮电影排名)
  • 口袋妖怪究极绿宝石5.4攻略(究绿5.4精灵分布最终版)
  • 海王梗的由来(抖音海王是什么意思含义)
  • 初代iPhone 1智能手机图片(苹果1上市时间)
  • 2022年好听的歌曲排行榜(最好听的十首最火歌曲)
  • SHE只单飞不解散(SHE三个人简介)
  • 买了否冷什么意思
  • 黔ICP备19002813号