财经知识大全

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

银行家算法例题

银行家算法例题:

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

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

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

相关文章

  • 什么叫沪股通和深股通?
  • 意外伤害是什么?
  • 圆通速递收费标准是什么?
  • 同比下降百分比怎么算?
  • 个税专项扣除申报完全指南,教你轻松操作!
  • 天天基金活期宝快速取现为何要保留0.01份?
  • 等额本息提前还款利息怎么算?
  • TMT行业是什么意思?
  • 大额贷款有哪些平台?这五个平台满足你的需求
  • 新橙分期放款多久到账?平均下款时间出炉!
  • 公积金贷款利率怎么调(了解公积金贷款利率调整的方法与步骤)
  • 花呗服务升级是什么意思
  • 九卦 多家大银行纷纷下调存款利率! 中小银行开始跟进!
  • 福利真正可以借钱的APP有哪些? 2022年真正能借到钱的5个网贷平台
  • 如何查看建行卡余额
  • 经适房未满5年可以买卖吗 经适房不满5年怎么卖
  • 住房公积金贷款攻略(从申请到放款全流程详解)
  • 建设银行支付宝卡,如何在建设银行开通支付宝
  • 房产证上加名字需要收多少钱 房产证加名字要收什么费用
  • 每天有50元收益,需要在余额宝存多少钱呢?