全球旧事资料 分类
C语言实现银行家算法程序设计实验报告
实验报告
题目名称
C语言实现银行家算法
院系信息科学与工程班级学院
完成时间
指导老师
组长
联系电话组员(姓名,
学号)组员(姓名,
学号)组员(姓名,
学号)组员(姓名,
本次实验成绩
邮件地址qqcom
主要任务程序算法的编写、实现、运行调试
主要任务实验报告的完成
主要任务实验报告的完成
学号)
银行家算法原理:

我们可以把操作系统看作是银行家,操作系统管理的资源

相当于银行家管理的资金,进程向操作系统请求分配资源相当

于用户向银行家贷款。


为保证资金的安全银行家规定

1当一个顾客对资金的最大需求量不超过银行家现有

的资金时就可接纳该顾客

2顾客可以分期贷款但贷款的总数不能超过最大需求



3当银行家现有的资金不能满足顾客尚需的贷款数额


时对顾客的贷款可推迟支付但总能使顾客在有限的时间里

得到贷款
fC语言实现银行家算法程序设计实验报告

4当顾客得到所需的全部资金后一定能在有限的时间

里归还所有的资金

操作系统按照银行家制定的规则为进程分配资源,当进程

首次申请资源时,要测试该进程对资源的最大需求量,如果系

统现存的资源可以满足它的最大需求量则按当前的申请量分

配资源,否则就推迟分配。当进程在执行中继续申请资源时,

先测试该进程本次申请的资源数是否超过了该资源所剩余的

总量。若超过则拒绝分配资源,若能满足则按当前的申请量分

配资源,否则也要推迟分配。
主要参考书:
计算机操作系统第三版
算法流程图:
西安电子科技大学出版社
汤子瀛主编
附录1银行家算法流程图
附录2安全性算法流程图

要算
实验步骤:

流程
一.银行家算法

进程i发出请求资源申请,


1如果Requestj
eedij转向步骤2否则认为出错,

因为他所需要的资源数已经超过它所宣布的最大值。


2如果:Requestijavailableij,转向步骤3,否则

表示尚无足够资源,进程i需等待。

3若以上两个条件都满足,则系统试探着将资源分配给申请的进
程,并修改下面数据结构中的数值:
AvailableijAvailableijRequestj;
Allocatio
ijAllocatio
ijRequestj;

eedij
eedijRequestj;
4试分配后,执行安全性检查,调用check函数检查此次资源
分配后系统是否处于安全状态。若安全,才正式将资源分配给进
fC语言实现银行r
好听全球资料 返回顶部