综合百科

银行家算法例题

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分过红吗 中邮核心增长股票基金有分过红吗
  • 商贷转公积金麻烦吗 商转公的流程有哪些呢
  • 完全不懂基金怎么入门 基金入门的方法
  • 猪肉行业龙头股一览表 猪肉行业股票的简要分析
  • 人民币的单位换算 人民币有什么单位
  • 央企有哪些 央企的主要内容
  • 海贼王恶魔果实排名大全图鉴(公认的三系最强恶魔果实)
  • 北京地图最新版2022(北京地铁6号线)
  • 建议穷人养的10种狗(买什么狗好养又便宜)
  • TVB十大女神排名(香港影坛最美的十位女星)
  • 李响老婆个人资料(李响和赵雨菲的爱情故事)
  • 1949到2022中国的历史进程(中国的发展经历了哪些阶段)
  • 罗马尼亚是哪个国家(罗马尼亚简介)
  • 富豪榜2023排行榜中国首富(全球富豪榜揭晓)
  • Beats Studio蓝牙真无线降噪耳机(世界十大顶级耳机品牌)
  • 富士摄影包新款图片及价格(PGY OneGo单肩相机包)
  • 黔ICP备19002813号