操作系统课设银行家算法

个人收集整理 勿做商业用途

作者:ZHANGJIAN

仅供个人学习,勿做商业用途

兰州交通大学

操作系统课程设计报告

题 目: 银行家算法 学 院: 电子与信息过程学院 专 业: 软件工程 姓 名: 任海林 学 号: 201009828 指导老师: 张永花 完成时间: 2012.12.20

摘 要

Dijkstra提出的银行家算法,是最具代表性的避免死锁的算法,该算法由于能用于银行系统现金贷款的发放而得名。银行家算法是在确保当前系统安全的前提下推进的。对进程请求先进行安全性检查,来决定资源分配与否,从而确保系统的安全,有效的避免了死锁的发生。在理解和分析了银行家算法的核心思想以及状态的本质涵义的前提下,对算法的实现在总体上进行了设计,包括在对算法分模块设计,并对各个模块的算法思想通过流程图表示,分块编写代码,并进行测试,最后进行程序的测试,在设计思路上严格按照软件工程的思想执行,确保了设计和实现的可行,可信。 文档来源网络及个人整理,勿用作商业用途 本文对如何用银行家算法来处理操作系统给进程分配资源做了详细的说明,包括需求分析、概要设计、详细设计、测试与分析、总结、源程序清单。 首先

个人收集整理 勿做商业用途

做了需求分析,解释了什么是银行家算法,并指出它在资源分配中的重要作用。然后给出了银行家算法的概要设计,包括算法思路、步骤,以及要用到的主要数据结构、函数模块及其之间的调用关系等。在概要设计的基础上,又给出了详细的算法设计,实现概要设计中定义的所有函数,对每个函数写出核心算法,并画出了流程图。接着对编码进行了测试与分析,代码实现采用C语言。最后对整个设计过程进行了总结。文档来源网络及个人整理,勿用作商业用途 关键词:银行家算法;死锁;避免死锁;安全状态;安全性序列;安全性算法。

2 / 15

个人收集整理 勿做商业用途

目录

摘要 .................................................................................................................... 1 1绪论 ................................................................................................................ 2

1.1前言 ....................................................................................................................... 2 1.2研究意义 ................................................................................................................ 3 1.3结构安排 ................................................................................................................ 3

2需求分析 ...................................................................................................... 4

2.1题目描述 ................................................................................................................ 4 2.2银行家算法 ............................................................................................................ 4 2.3基本要求 ................................................................................................................ 4 2.4目的 ....................................................................................................................... 5

3概要设计 ...................................................................................................... 6

3.1基本思路 ................................................................................................................ 6 3.2银行家算法步骤..................................................................................................... 6 3.3安全型算法步骤..................................................................................................... 7 3.4数据结构 ................................................................................................................ 7

4详细设计 ...................................................................................................... 8

4.1主要函数的核心代码 ............................................................................................. 8 4.1程序流程图 ............................................................................................................ 9

5测试 .............................................................................................................. 10

5.1测试用例 .............................................................................................................. 10 5.1测试结果分析和截图 ........................................................................................... 11

6总结 .............................................................................................................. 12 参考文献 ........................................................................................................ 14 附录:原程序清单 .................................................................................... 15

3 / 15

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4