
银行家算法及流程图.docx
13页名师归纳总结 精品word资料 - - - - - - - - - - - - - - -学习资料收集于网络,仅供参考银行家算法及流程图算法的实现一、初始化由用户输入数据,分别对可利用资源向量矩阵 AVAILABLE、最大需求矩阵 MAX、安排矩阵 ALLOCATIO、N需求矩阵 NEED赋值;二、银行家算法在防止死锁的方法中, 所施加的限制条件较弱, 有可能获得令人中意的系统性能;在该方法中把系统的状态分为安全状态和担心全状态,只要能使系统始终都处于安全状态,便可以防止发生死锁;银行家算法的基本思想是安排资源之前 , 判定系统是否是安全的 ; 如是, 才安排;它是最具有代表性的防止死锁的算法;设进程 cusneed 提出恳求 REQUES[Ti] ,就银行家算法按如下规章进行判定;(1) 假如 REQUEST [cusneed] [i]<= NEED[cusneed][i] ,就转 〔2〕 ;否就,出错;(2) 假如 REQUEST [cusneed] [i]<= AVAILABLE[cusneed][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+=ALLOCATION;Finish=true;GOTO 2(4) 如全部的进程 Finish= true ,就表示安全;否就系统担心全;各算法流程图初始化算法流程图:学习资料 第 1 页,共 9 页 - - - - - - - - -名师归纳总结 精品word资料 - - - - - - - - - - - - - - -学习资料收集于网络,仅供参考银行家算法流程图:学习资料 第 2 页,共 9 页 - - - - - - - - -名师归纳总结 精品word资料 - - - - - - - - - - - - - - -学习资料收集于网络,仅供参考安全性算法流程图:学习资料 第 3 页,共 9 页 - - - - - - - - -名师归纳总结 精品word资料 - - - - - - - - - - - - - - -学习资料收集于网络,仅供参考源程序清单#include












