没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
操作系统课程设计报告
摘 要
提 出 的 银 行 家 算 法 , 是 最 具 代 表 性 的 避 免 死 锁 的 算 法 。
本文对如何用银行家算法来处理操作系统给进程分配资源做了详细
的说明,包括 需 求 分 析 、 概 要 设 计 、 详 细 设 计 、 测 试 与 分 析 、 总 结 、 源
程序清单。
首先做了需求分析,解释了什么是银行家算法,并指出它在资源分
配中的重要作用。
然后给出了银行家算法的概要设计,包括算法思路、步骤,以及要
用到的主要数据结构、函数模块及其之间的调用关系等。
在概要设计的基础上,又给出了详细的算法设计, 实现概要设计中
定义的所有函数 对每个函数写出核心算法,并画出了流程图 。
接 着 对 编 码 进 行 了 测 试 与 分 析 ( 并 在 最 后 附 上 编写 的 程 序 代
码)。
最后对整个设计过程进行了总结。
关键词:安全序列;银行家算法;安全性算法;类图。
目录
摘要..........................................................................................1
1 绪论.......................................................................................4
前言...................................................................................5
研究意义.............................................................................5
结构安排.............................................................................5
2 需求分析................................................................................4
题目描述.............................................................................5
银行家算法..........................................................................5
基本要求.............................................................................5
目的...................................................................................5
3 概要设计................................................................................4
基本思路.............................................................................5
银行家算法步骤.....................................................................5
安全型算法步骤.....................................................................5
3.4 数据结构..........................................................................5
主要用到的数据结构..........................................................6
程序模块........................................................................6
各模块间的调用关系..........................................................6
4 详细设计................................................................................4
主要函数的核心代码...............................................................5
程序流程图..........................................................................5
5 测试.......................................................................................4
测试用例.............................................................................5
测试结果分析和截图...............................................................5
6 总结.......................................................................................4
参考文献...................................................................................4
附录:原程序清单......................................................................4
1 绪论
1.1 前言 :
提出了一种能够避免死锁的调度算法,称为银行家算法。
它的模型基于一个小城镇的银行家,他向一群客户分别承诺了一定的贷款
额度,每个客户都有一个贷款额度,银行家知道不可能所有客户同时都需要最
大贷款额,所以他只保留一定单位的资金来为客户服务,而不是满足所有客户
贷款需求的最大单位。
这里将客户比作进程,贷款比作设备,银行家比作系统。
客户们各自做自己的生意,在某些时刻需要贷款。在某一时刻,客户已获
得的贷款和可用的最大数额贷款称为与资源分配相关的系统状态。一个状态被
称为是安全的,其条件是存在一个状态序列能够使所有的客户均得到其所需的
贷款。如果忽然所有的客户都申请,希望得到最大贷款额,而银行家无法满足
其中任何一个的要求,则发生死锁。不安全状态并不一定导致死锁,因为客户
未必需要其最大贷款额度,但银行家不敢抱这种侥幸心理。
银行家算法就是对每一个请求进行检查,检查如果满足它是否会导致不安
全状态。若是,则不满足该请求;否则便满足。
剩余63页未读,继续阅读
coofee
- 粉丝: 3
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页