- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
银行家算法(用C语言实现)课程设计报告精选
成绩
课程设计报告
题 目 银行家算法程序设计
课 程 名 称 操作系统课程设计
院 部 名 称 信息技术学院
专 业 计算机科学与技术
班 级
学 生 姓 名 * *
学 号 **********
课程设计地点
课程设计学时 20
指 导 教 师 * *
*******教务处制
操作系统课程设计报告
摘 要
。
本文需求分析、概要设计、详细设计、测试与分析、总结、源程序清单。?首先
然后给出了银行家算法的概要设计,包括算法思路、步骤,以及要用到的主要数据结构、函数模块及其之间的调用关系等。
在概要设计的基础上,又给出了详细的算法设计,实现概要设计中定义的所有,对每个写出算法
接着对编码进行了测试与分析(并在最后附上Java编写的程序代码)。
最后对整个设计过程进行了总结。
关键词:;
目录
摘要…………………………………………………………………………………1
目录…………………………………………………………………………………2
1.绪论…………………………………………………………………………………3
1.1前言……………………………………………………………………………3
1.2研究意义………………………………………………………………………4
1.3结构安排………………………………………………………………………4
2.需求分析……………………………………………………………………………5
2.1题目描述………………………………………………………………………5
2.2银行家算法……………………………………………………………………5
2.3基本要求………………………………………………………………………5
2.4目的……………………………………………………………………………6
3.概要设计……………………………………………………………………………7
3.1设备环境………………………………………………………………………7
3.2算法思路………………………………………………………………………7
3.3银行家算法步骤………………………………………………………………7
3.4安全性算法步骤………………………………………………………………8
3.5数据结构………………………………………………………………………9
3.6系统结构图……………………………………………………………………12
4.详细设计 ………………………………………………………………………13
4.1主要函数的核心代码………………………………………………………13
4.2程序流程图…………………………………………………………………13
5.测试………………………………………………………………………………16
5.1测试用例……………………………………………………………………16
5.2测试结果截图………………………………………………………………17
6.总结………………………………………………………………………………22
参考文献……………………………………………………………………………24
致谢…………………………………………………………………………………25
附录…………………………………………………………………………………26
1绪论
1.1
Dijkstra (1965)提出了一种能够避免死锁的调度算法,称为银行家算法。
它的模型基于一个小城镇的银行家,他向一群客户分别承诺了一定的贷款额度每个客户都有一个贷款额度,银行家知道不可能所有客户同时都需要最大贷款额,所以他只保留单位的资金来为客户服务,而不是单位。
这里将客户比作进程,贷款比作设备,银行家比作系统。
客户们各自做自己的生意,在某些时刻需要贷款。在某一时刻客户已获得的贷款和可用的最大数额贷款称为与资源分配相关的系统状态。一个状态被称为是安全的,其条件是存在一个状态序列能够使所有的客户均得到其所的贷款如果忽然所有的客户都申请,希望得到最大贷款额,而银行家无法满足其中任何一个的要求,则发生死锁。不安全状态并不一定导致死锁,因为客户未必需要其最大贷款额度,但银行家不敢抱这种侥幸心理。
银行家算法就是对每一个请求进行检查,检查如果满足它是否会导致不安全状态。若是,则不满足该请求;否则便满
文档评论(0)