- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
课程设计〔大作业〕报告
课程名称:操作系统
设计题目:银行家算法
院系:信息技术学院
班级:2011级1班
设计者:111
指导教师:11111
设计时间:12.22——12.27
昆明学院
昆明学院课程设计〔大作业〕任务书
姓名:1111 院〔系〕:信息技术学院
任务起止日期:12月22日—12月27日
课程设计题目:银行家算法
课程设计要求及任务描述:
1:对课程设计题目进行确定
2:对所给资料进行整理和复习
3:查找资料,并作出实验方案拟定
4:根据资料类容画出流程图,分析流程图是否合理
5:根据流程图写代码程序,调试程序是否正确
6:对调试结果进行分析,整理与修改
7:进行辩论,整理课程设计内容
8:写出完整的课程设计报告
工作方案及安排:
第一天:查找资料,做好初步实验方案
第二天:完成流程图设计
第三天:完成代码的编写
第四天:调试程序
第五天:完成实验报告
指导教师签字
年月日
课程设计〔大作业〕成绩
课程设计题目:
银行家算法模拟
完成情况总结:
本次设计中首先要解决的问题是对所做题目的理解。简单的文字描述总是生涩难懂,像银行家算法这一问题,如果单看题目要求往往不知如何下手,更不要谈下一步的设计过程。但倘假设联系实际生活中银行贷款这一现象,再来看问题时,一切开始显得清晰,再加上老师的指点,便可以把自己究竟该作何工作搞清楚。这也给我一启示,我们要解决的诸多问题都源自生活,假设要解决它,联系实际是个很不错的选择。
明白了需求,下一个难点是如何通过软件实现。我所做的银行家算法这一题目,为了防止死锁,需要进行大量的判断,这也导致了一个问题,即在进行调试时,一旦出现问题,往往难以找到问题所在,针对这一问题,我编写了一些监测行〔请参看源程序〕,这样能比拟容易的找到问题的原因所在,这也是此次课程设计中在编程方面的一个收获。
通过本次课程设计,我对软件的开发的过程有了较为深入的了解,虽然只是对一个问题的简单模拟,但麻雀虽小五脏俱全,我对相关问题的解决已经有了一定的认识,对软件技术这门课程也有了更为透彻的感悟。本次课程设计,锻炼了我分析问题和解决问题的能力,为今后相关问题的解决积累了珍贵经验,也增强了自己的耐心与自信,受益匪浅。
指导教师评语:
成绩:
填表时间: 指导教师签名:
课程设计〔大作业〕报告
题目分析
银行家算法根本原理:操作系统在每一次分配之前都要进行以下操作,判断当前的资源请求是否平安,如果平安那么实施分配,否那么不予分配。
第1步:操作系统对提出资源请求的进程按所请求的资源数目实施预分配,修改剩余资源数组、资源分配矩阵和剩余资源请求矩阵;
第2步:将剩余资源数组代入剩余需求矩阵中与各元素进行比拟,找到可以满足其所有资源需求的某个进程将它参加到平安序列中;
第3步:将该进程运行结束后释放的资源累加到剩余资源数组中;
第4步:再重复第2、3两步。假设所有进程都能够进入平安序列Pi,Pj,……,那么此次分配可以实施,否那么系统将会处于不平安状态,因而不能实施分配。如果不能实施分配,那么将系统复原到预分配之前的状态。
设计步骤和方法
设计数据结构:剩余资源数组available,如available[j]=k表示资源Rj现有k个。
设计数据结构:最大资源请求矩阵max,如max[i][j]=k表示进程Pi最多可申请k个类型为Rj的资源。
设计数据结构:资源分配矩阵allocation,定义每个进程现在所分配的各种资源类型的数量,如allocation[i][j]=k表示进程Pi现在分配了k个类型为Rj的资源。
设计数据结构:剩余资源请求矩阵claim,定义每个进程还需要的剩余的资源数,如claim[i][j]=k表示进程Pi还需要申请k个类型Rj的资源。其中,claim[i][j]=max[i][j]-allocation[i][j]。
设计函数完成功能:系统内资源总数、各进程对各类资源最大需求数目、已分配资源数目的前提下,某进程提出各类资源的需求量时能判断状态是否平安,以决定是否予以分配。
程序设计
数据结构设计
#includeiostream.h
intAvailable[100];//可利用资源数组
intMax[50][100];//最大需求矩阵
intAllocation[50][100];//分配矩阵
intNeed[50][100];//需求矩阵
intRe
文档评论(0)