综合百科

银行家算法例题

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分过红吗 中邮核心增长股票基金有分过红吗
  • 商贷转公积金麻烦吗 商转公的流程有哪些呢
  • 完全不懂基金怎么入门 基金入门的方法
  • 猪肉行业龙头股一览表 猪肉行业股票的简要分析
  • 人民币的单位换算 人民币有什么单位
  • 央企有哪些 央企的主要内容
  • 触摸屏报价及图片(触摸屏行业技术概况)
  • 758大洪水真实死亡人数(河南758洪感人瞬间)
  • 杜淳老婆王灿个人资料(杜淳妻子王灿简历)
  • OPPO Find X3参数配置价格(Find X3系列双旗舰怎么选)
  • 对犯人用山羊刑是怎样施行的(古代山羊刑法是什么样的)
  • 超过35度百香果(百香果开花不结果的原因)
  • 春花子剧情介绍(春花子亲爹是谁)
  • 黄金叶天叶多少钱一包(黄金叶香烟价格表大全)
  • Xperia Z3 Compact体验评测(小巧旗舰机Z3价格)
  • 2021奥斯卡获奖电影名单(盘点奥斯卡十年最佳影片)
  • 黔ICP备19002813号