- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)