- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE \* MERGEFORMAT 36
《操作系统》课程设计报告
院 系:计算机与信息工程学院
题 目:模拟银行家算法实现死锁避免
评分表:
课题名称
指导教师
评 语
成绩评定姓 名成 绩学 号日期年 月 日
目录
TOC \o 1-3 \h \z \u 题 目:模拟银行家算法实现死锁避免 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.如果Request=Need,则转向2;否则,出错
2.如果Request=Available,则转向3,否则等待
3.系统试探分配请求的资源给进程
4.系统执行安全性算法
第二部分:安全性算法
1.设置两个向量
(1).工作向量:Work=Available(表示系统可提供给进程继续运行所需要的各类资源数目)
(2).Finish:表示系统是否有足够资源分配给进程(True:有;False:没有).初始化为False
2.若Finish[i]=FalseNeed=Work,则执行3;否则执行4(i为资源类别)
3.进程P获得第i类资源,则顺利执行直至完成,并释放资源:
Work=Work+Allocation;
Finish[i]=true;
转2
请充分理解以上银行家算法描述的核心思想。(详细银行家算法描述见p95)
三 课程设计环境
Windows操作系统 java语言 eclipse编程工具
四 课程设计步骤
41.需求分析
4.1.1 问题的提出
银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系银行家算法统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。要解释银行家算法,必须先解释操作系统安全状态和不安全状态。
4.1.2 银行家算法原理
我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。
为保证资金的安全,银行家规定: (1) 当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客;
(2) 顾客可以分期贷款,但贷款的总数不能超过最大需求量;
(3) 当银行家现有的资金不能满足顾客尚需的贷款数额时,对顾客的贷款可推迟支付,但总能使顾客在有限的时间里得到贷款;
(4) 当顾客得到所需的全部资金后,一定能在有限的时间里归还所有的资金.
操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程本次申请的资源数是否超过了该资源所剩余的总量。若超过则拒绝分配资源,若能满足则按当前的申请量分配资源,否则也要推迟分配。
4.1.3银行家算法详细解析
1、安全性算法:确定计算机系统是否处于安全状态的算法分为如下几步:
(1)设置两个工作向量Work=AVAILABLE;FINISH
(2)从进程集合中
您可能关注的文档
- 凹凸台轴套零件的加工工艺设计制造毕业设计.doc
- 加热炉温度控制器设计单片机原理及接口技术毕业设计40论文41.doc
- 水温控制系统_电子技术毕业设计.doc
- 基于CAN总线的液位控制装置的设计毕业设计论文.doc
- 基于单片机的无线射频收发系统毕业设计.doc
- 基于MATLAB的图像锐化算法研究毕业设计说明书.doc
- 生产计划与控制毕业设计报告册.doc
- 单片机原理毕业设计_基于AT89C52的电子时钟设计.doc
- 压床连杆机构的设计及运动分析_机械原理毕业设计.doc
- 哈药集团人力资源管理毕业设计.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 电气安全评估报告模板.docx VIP
- 2025学年人教版英语七年级下册单词默写表.docx VIP
- TB 10754-2018 高速铁路轨道工程施工质量验收标准 含2023修改单(2-2).pdf
- 《网络工程师》模拟考试题.doc VIP
- 脑梗塞中医辨证课件.pptx
- 解码国家安全智慧树知到期末考试答案章节答案2024年国际关系学院.docx VIP
- YB∕T 5305-2020 线缆套管用焊接钢管(可复制版).pdf
- 应用指南《GB_T23443-2024建筑装饰用铝单板》应用指南.pptx VIP
- CQC3703-2022 绿色能源消费评价技术规范-活动.pdf VIP
- 1.4 全面推进依法治国的六项重大任务(政策与法律法规 第五版).pptx VIP
文档评论(0)