综合百科

银行家算法例题

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分过红吗 中邮核心增长股票基金有分过红吗
  • 商贷转公积金麻烦吗 商转公的流程有哪些呢
  • 完全不懂基金怎么入门 基金入门的方法
  • 猪肉行业龙头股一览表 猪肉行业股票的简要分析
  • 人民币的单位换算 人民币有什么单位
  • 央企有哪些 央企的主要内容
  • 2021奥斯卡获奖电影名单(盘点奥斯卡十年最佳影片)
  • 车管所周六周日上班吗(车管所办公时间一览表)
  • 更新鸿蒙系统后电池不耐用(四个方法有效缓解问题)
  • 简析国际歌歌词背后的深意(为什么现在不让唱国际歌了)
  • 佛头果是什么水果(水果界的牛奶布丁)
  • 江疏影事件是不是真实的(她的故事真不简单)
  • 广州长隆野生动物园游玩攻略(最全保姆级攻略不走回头路)
  • 华福雄个人资料简介(华福雄身价是多少啊)
  • 光头强的真实姓名叫什么
  • 大使 公使代办的区别(中国驻各国大使级别一览表)
  • 黔ICP备19002813号