银行家算法设计实验报告2银行家算法设计实验报告一.题目分析1
银行家算法:我们可以把操作系统看做是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求资源相当于客户向银行家贷款
操作系统按银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程尚需求的资源量, 若是系统现存的资源可以满足它尚需求的资源量, 则按当前的申请量来分配资源,否则就推迟分配
当进程在执行中继续申请资源时,先测试该进程申请的资源量是否超过了它尚需的资源量
若超过则拒绝分配, 若没有超过则再测试系统尚存的资源是否满足该进程尚需的资源量,若满足即可按当前的申请量来分配,若不满足亦推迟分配
基本要求:(1)可以输入某系统的资源以及T0 时刻进程对资源的占用及需求情况的表项,以及T0 时刻系统的可利用资源数
(2)对 T0 时刻的进行安全性检测, 即检测在 T0 时刻该状态是否安全
3(3)进程申请资源,用银行家算法对其进行检测,分为以下三种情况:A
所申请的资源大于其所需资源,提示分配不合理不予分配并返回B
所申请的资源未大于其所需资源,但大于系统此时的可利用资源,提示分配不合理不予分配并返回
所申请的资源未大于其所需资源,亦未大于系统此时的可利用资源, 预分配并进行安全性检查:a
预分配后系统是安全的,将该进程所申请的资源予以实际分配并打印后返回
与分配后系统进入不安全状态,提示系统不安全并返回
(4)对输入进行检查, 即若输入不符合条件,应当报错并返回重新输入
目的:根据设计题目的要求, 充分地分析和理解题目,叙述系统的要求, 明确程序要求实现的功能以及限制条件
明白自己需要用代码实现的功能, 清楚编写每部分代码的目的, 做到有的放矢, 有条理不遗漏的用代码实现银行家算法
算法思路:先对用户提出的请求进行合法性检查,即检查