财经知识大全

当前位置: 主页 > 财经知识大全

银行家算法例题

银行家算法例题:

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

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

设进程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语言实现)

相关文章

  • 三者险300万撞死人够赔吗
  • 花呗手续费怎么算
  • 拿退伍证怎么贷款
  • 美联储缩表对中国的影响
  • 如何计提企业所得税
  • 不同银行取钱要手续费吗
  • 任我行保险私家车有必要买吗
  • 中国人均gdp排名
  • 股票的收益率怎么算
  • 昆山公积金缴费比例及基数
  • 斯柯达全球官网称台湾为“国家” 一删了之但未道歉
  • 怎么利用余额宝理财?
  • 分期购车攻略如何顺利贷款购买心仪的车辆
  • 高位十字星预示什么,高位十字星预示什么意思
  • 跳水王子田亮当年为什么会在巅峰期被国家队开除?当时发生了什么事情?
  • 全军覆没!麻省理工零录取中国学生,斯坦福取消大陆学生面试,大家怎么看?
  • 陕西一初中女生遭校园暴力 5分钟被连打带踹56次
  • 全球通用外汇交易软件MT4简介
  • 浙江公积金贷款查询方法详解
  • 建行怎么提前还贷款(详解建行贷款提前还款流程)