模拟银行家算法实现死锁避免毕业论文报告.docVIP

  • 9
  • 0
  • 约1.89万字
  • 约 34页
  • 2018-03-03 发布于重庆
  • 举报

模拟银行家算法实现死锁避免毕业论文报告.doc

模拟银行家算法实现死锁避免毕业论文报告

(此文档为w?ord格式?,下载后您可?任意编辑修?改!) 《操作系统》课程设计报?告 院 系:计算机与信?息工程学院? 题 目 评分表: 课题名称 指导教师 评 语 成绩评定 姓 名 成 绩 学 号 日期 年 月 日 目录 题 目:模拟银行家?算法实现死?锁避免 1 评分表: 2 一 课程设计目?的 3 二 课程设计内?容 3 三 课程设计环?境 4 四 课程设计步?骤 4 41.需求分析 4 4.1.1 问题的提出? 4 4.1.2 银行家算法?原理 4 4.1.3银行家算? 5 4.1.4 银行安全性?算法目的 6 4.2概要设计? 6 4.2.1 6 4.2.2 功能模块描?述 7 4.3详细设计? 7 4.3.1基本数据? 7 4.3.2算法的设? 8 五 课程设计结?果 9 5.1运行结果? 9 5.2测试分析? 12 课程设计心?得与体会 12 总结 12 七 参考文献 13 八 程序清单 14 8.1 操作主界面?代码: 14 8.2 功能实现代?码: 17 一 课程设计目?的 在熟练掌握?死锁发生原?理和解决死?锁问题的基?础上,利用一种程?序设计语言?模拟实现利?用银行家算?法实现死锁?避免,一方面加深?对原理的理?解,另一方面提?高学生通过?编程根据已?有原理解决?实际问题的?能力,为学生将来?进行系统软?件开发和针?对实际问题?提出高效的?软件解决方?案打下基础?。 二 课程设计内?容 模拟实现银?行家算法对?系统资源进?行分配,以防止死锁?的出现。本课题肯定?不可能实现?对实际操作?系统的资源?管理,而是通过对?模拟资源数?据的处理,检测银行家?算法在防止?死锁出现的?作用。 银行家算法?描述: 第一部分:银行家算法?(扫描) 1.如果Req?uest=Need,则转向2;否则,出错 2.如果Req?uest=Avail?able,则转向3,否则等待 3.系统试探分?配请求的资?源给进程 4.系统执行安?全性算法 第二部分:安全性算法? 1.设置两个向?量 (1).工作向量:Work=Avail?able(表示系统可?提供给进程?继续运行所?需要的各类?资源数目) (2).Finis?h:表示系统是?否有足够资?源分配给进?程(True:有;False?:没有).初始化为F?alse 2.若Fini?sh[i]=False?Need=Work,则执行3;否则执行4?(i为资源类?别) 3.进程P获得?第i类资源?,则顺利执行?直至完成,并释放资源?: Work=Work+Alloc?ation?; Finis?h[i]=true; 转2 请充分理解?以上银行家?算法描述的?核心思想。(详细银行家?算法描述见?p95) 三 课程设计环?境 Windo?ws操作系?统 java语?言 eclip?se编程工?具 四 课程设计步?骤 41.需求分析 4.1.1 问题的提出? 银行家算法?是一种最有?代表性的避?免死锁的算?法。在避免死锁?方法中允许?进程动态地?申请资源,但系银行家?算法统在进?行资源分配?之前,应先计算此?次分配资源?的安全性,若分配不会?导致系统进?入不安全状?态,则分配,否则等待。为实现银行?家算法,系统必须设?置若干数据?结构。要解释银行?家算法,必须先解释?操作系统安?全状态和不?安全状态。 我们可以把?操作系统看?作是银行家?,操作系统管?理的资源相?当于银行家?管理的资金?,进程向操作?系统请求分?配资源相当?于用户向银?行家贷款。 为保证资金?的安全,银行家规定?: (1) 当一个顾客?对资金的最?大需求量不?超过银行家?现有的资金?时就可接纳?该顾客; (2) 顾客可以分?期贷款,但贷款的总?数不能超过?最大需求量?; (3) 当银行家现?有的资金不?能满足顾客?尚需的贷款?数额时,对顾客的贷?款可推迟支?付,但总能使顾?客在有限的?时间里得到?贷款; (4) 当顾客得到?所需的全部?资金后,一定能在有?限的时间里?归还所有的?资金.   操作系统按?照银行家制?定的规则为?进程分配资?源,当进程首次?申请资源时?,要测试该进?程对资源的?最大需求量?,如果系统现?存的资源可?以满足它的?最大需求量?则按当前的?申请量分配?资源,否则就推迟?分配。当进程在执?行中继续申?请资源时,先测试该进?程本次申请?的资源数是?否超过了该?资源所剩余?的总量。若超过则拒?绝分配资源?,若能满足则?按当前的申?请量分配资?源,否则也要推?迟分配

文档评论(0)

1亿VIP精品文档

相关文档