- 404
- 0
- 约1.4万字
- 约 33页
- 2016-12-06 发布于北京
- 举报
(银行家算法课程设计报告
操作系统课程设计报告
题目:银行家算法
院 (系): 计算机科学与工程学院
专 业: 计算机科学与技术
班 级: 120605
学 生: 蔡学利
学 号: 120605101
指导教师: 姜红
2015年 1月
摘 要
银行家算法是一个用来避免系统进入死锁状态的算法,用它可以判断系统的安全性,如果系统当前处于安全状态,则可以为申请资源的进程分配资源,如果不是安全状态,则不能为申请资源的进程分配资源。
银行家算法执行过程中,首先判断申请资源的进程所申请的资源数目是否合法,若是合法的,则可以为其进行试分配,再利用安全性算法求出安全序列,·如果存在安全序列,则说明可以给申请资源的进程分配资源,分配成功,继续为其它进程服务。如果找不到安全序列,则说明为该进程分配资源后系统会进入不安全状态,所以不能为该进程分配资源,使该进程进入阻塞状态。若申请资源的进程申请的资源数目不合法,则不需要进行试分配,直接使其进入阻塞状态,处理其他申请资源的进程。
论文首先对算法的设计从总体上进行了分析,然后分析各个细节,再对算法分模块设计,并对各个模块的算法思想通过流程图表示,分块编写代码,并进行调试和测试,最后进行组装测试及系统测试,使其成为一个可以用来判断系统安全状态的程序。
关键词:可用资源 最大需求矩阵 分配矩阵 需求矩阵 请求向量 试分配
安全性算法 安全序列
目 录
摘 要 2
目 录 3
1 绪论 5
1.1课题背景 5
1.2 课题意义 5
1.3 运行环境 5
2 需求分析 6
2.1 问题描述 6
2.2 基本要求 6
2.3 概要分析 6
3 算法思想 8
3.1 安全性算法的算法思想 8
3.1.1设置两个向量: 8
3.1.2安全性检测 8
3.2 银行家算法的算法思想 9
3.2.1 银行家算法的思路 9
3.2.2 银行家算法 9
3.2.3 安全性检查算法 9
4详细设计 11
4.1银行家算法中用到的主要数据结构设计 11
4.2算法整体设计与调用 11
4.3模块设计与时间复杂度分析 13
4.3.1 int check_distribution(int* p,int k)函数 13
4.3.2 int check_safe()银行家算法 13
4.3.2 void print()输出函数 13
4.4程序流程图 13
4.5.1 主函数void main()函数流程图 14
4.5.2 判断试分配函数int check_distribution(int* p,int k)流程图 14
4.5.3银行家算法int check_safe()流程图 15
4.5.4 输出函数void print() 流程图 15
5 程序调试、分析与修改 16
5.1分模块调试与分析 17
5.1.1进程信息的输入与输出调试 17
5.1.2 进程请求资源输入出错提示信息处理 18
5.1.3 判断试分配函数int check_distribution(int* p,int k) 18
5.1.4 求安全序列函数int check_safe() 19
6 结论 20
7 小结 21
参考文献 22
附录(源代码) 23
1 绪论
1.1课题背景
在预防死锁的各种算法中,总的来说,都是施加了较强的限制条件,从而使实现简单,但却严重地损害了系统的性能。在避免死锁的算法中,施加的条件较较弱,有可能获得令人满意的系统性能。在该方法中把系统的状态分为安全状态和不安全状态,只要能使系统处于安全状态,便可避免死锁的发生。
最具有代表性的避免死锁的算法是Dijkstra的银行家算法。这是因为该算法能用于银行系统现金贷款的发放而得名,在这一次的课程设计中就要对银行家算法从分析到实现,整体做一个详细的描述。
1.2 课题意义
(1)从课程设计上讲,提高自己的分析问题,解决问题和动手能力;
(2)从银行家算法上本身讲,通过算法可以判断系统的安全性,对申请资源的进程进行限制,从而避免系统进入死锁状态。
1.3 运行环境
Turbo C; Visual C++ 6.0
2 需求分析
2.1 问题描述
当系统在进行资源管理时,如果对进城申请的资源分配不当,可能会使系统进入死锁状态,因而后面到来的进程也无法顺利执行。银行家算法中,要对当前申请资源的进程申请资源的数目进行判断,如果可以试分配,则试求出一个安全序列,如果可以求出
您可能关注的文档
- (采购物资质量情况统计分析报告.docx
- (重大火灾隐患判定督办及立销案办法试行.doc
- (采煤开题报告格式.doc
- (采购法务与合同管理真题及答案.doc
- (重大专项课题会计审核及核算细则.docx
- (重庆大学体育课水平测试标准.docx
- (重庆市2004年中考语文试题及答案.docx
- (重庆凯里市房地产营销策划方案研究分析总结.doc
- (重庆电力高等专科学校顶岗实习管理办法试行.doc
- (重庆科创职业学院智能小车开发与调试课程标准.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 【花生十三】25公务员考试资料分析速算练习册及速算过程.pdf VIP
- mst2016说明书.pdf VIP
- 口腔科课件洁治.pptx
- 2025兴安盟公安局招聘165名留置看护警务辅助人员备考试题及答案解析.docx VIP
- 35KV变电站毕业设计(完整版).doc VIP
- AP微观经济学 2012年真题 (选择题+问答题) AP Microeconomics 2012 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 上海师范大学天华学院公共课《大学计算机基础》期末试卷A(有答案).docx VIP
- 高中生对AI 技术应用的态度与认知调查问卷.docx VIP
- 2025年度”五个方面“专题组织生活会个人对照检查发言材料.docx VIP
- 南方医科大学各专业实习大纲汇编.pdf VIP
原创力文档

文档评论(0)