银行家算法模拟__课程设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(大作业)报告 课程名称: 操作系统 设计题目: 银行家算法模拟 院 系: 班 级: 设 计 者: 学 号: 指导教师: 设计时间: 2013.12.23 ——2013.12.27 昆明学院 昆明学院课程设计(大作业)任务书 姓 名: 院(系):信息技术 专 业:计算机科学与技术 学 号:任务起止日期:2013.12.23——2013.12.27 课程设计题目:银行家算法模拟 课程设计要求及任务描述: 设计数据结构:剩余资源数组available,如available [j] = k表示资源Rj现有k个。 (2)设计数据结构:最大资源请求矩阵max,如max [i][j] = k表示进程Pi最多可申请k个类型为Rj的资源。 (3)设计数据结构:资源分配矩阵allocation,定义每个进程现在所分配的各种资源类型的数量,如allocation [i][j] = k表示进程Pi现在分配了k个类型为Rj的资源。 (4)设计数据结构:剩余资源请求矩阵claim,定义每个进程还需要的剩余的资源数,如claim [i][j] = k表示进程Pi还需要申请k个类型Rj的资源。其中,claim [i][j] = max[i][j] - allocation[i][j]。 (5)设计函数完成功能:系统内资源总数已知、各进程对各类资源最大需求数目已知、已分配资源数目已知的前提下,某进程提出各类资源的需求量时能判断状态是否安全,以决定是否予以分配。 工作计划及安排: 12月23日:查找相关资料,明确实验目的和实验原理; 12月24日:绘制程序流程图; 12月25日:数据结构设计和函数设计; 12月26日:编写程序代码,编写实验报告; 12月27日:实验答辩,打印实验报告。 指导教师签字 年 月 日 课程设计(大作业)成绩 学号: 姓名: 指导教师: 课程设计题目:银行家算法模拟 完成情况总结: 我本次课程设计就是得用银行家算法来避免“死锁”。银行家算法就是一个分配资源的过程,使分配的序列不会产生死锁。此算法的中心思想是:按该法分配资源时,每次分配后总存在着一个进程,如果让它单独运行下去,必然可以获得它所需要的全部资源,也就是说,它能结束,而它结束后可以归还这类资源以满足其他申请者的需要。 本次程序就是按照上面的思路展开的。基本功能都实现了,但是因为时间上的仓促,本课程设计的存在着以下不足:一、不能实现并发操作,即当总资源同时满足几个进程所需要的资源数时,这些进程不能同时进行,只能一一按进程顺序执行。二、扫描进程顺序单一,只能按进程到来的顺序(即编号)来扫描,从而产生的安全顺序只能是在这个顺序的基础上产生的,而其实安全顺序是有多个的。三、对进程数和资源数进行的数量进行了限制。四、运行程序后,界面较差,进程数,所需要资源数,已分配资源数,能用资源数,不能一目了然。 指导教师评语: 成绩: 填表时间: 指导教师签名: 课程设计(大作业)报告 一、题目分析 1.1银行家算法的思路 先对用户提出的请求进行合法性检查,即检查请求的是不大于需要的,是否不大于可利用的。若请求合法,则进行试分配。最后对试分配后的状态调用安全性检查算法进行安全性检查。若安全,则分配,否则,不分配,恢复原来状态,拒绝申请。 1.2 具体步骤 (1)可以输入某系统的资源以及T0时刻进程对资源的占用及需求情况的表项,以及T0时刻系统的可利用资源数。 (2)对T0时刻的进行安全性检测,即检测在T0时刻该状态是否安全。 (3)进程申请资源,用银行家算法对其进行检测,分为以下三种情况: A. 所申请的资源大于其所需资源,提示分配不合理不予分配并返回。 B. 所申请的资源未大于其所需资源,但大于系统此时的可利用资源,提示分配不合理不予分配并返回。 C. 所申请的资源未大于其所需资源,亦未大于系统此时的可利用资源,预分配并进行安全性检查: a. 预分配后系统是安全的,将该进程所申请的资源予以实际分配并打印后返回。 b. 与分配后系统进入不安全状态,提示系统不安全并返回。 对输入进行检查,即若输入不符合条件,应当报错并返回重新输入。 二、程序设计 2、1数据结构设计 2.1.1概要设计 a. 可利用

文档评论(0)

文档分享 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档