没有合适的资源?快使用搜索试试~ 我知道了~
操作系统课程设计银行家算法样本.docx
0 下载量 105 浏览量
2022-12-06
09:00:19
上传
评论
收藏 895KB DOCX 举报
温馨提示
试读
61页
操作系统课程设计银行家算法样本.docx
资源推荐
资源详情
资源评论
《操作系统课程设计》
题目:银行家算法设计与实现
院、 系: 计算机信息与技术系
学科专业: 计算机科学与技术
学 号: B10060123
学生姓名: 徐飞
指引教师 : 姜虹
×××06 月
目录
一、绪论 ..........................................................................................................................................1
二、需求分析 ..................................................................................................................................2
2.1 银行家算法的描述 ............................................................................................................2
2.2 银行家算法模拟系统流程图.............................................................................................3
2.3 模拟系统用况分析 ............................................................................................................4
2.4 模拟系统用况规约 ............................................................................................................4
2.4.1 用况名称:创建进程 .............................................................................................4
2.4.2 用况名称:执行进程 .............................................................................................5
三、总体设计 ..................................................................................................................................7
3.1 系统的分层模型 ................................................................................................................7
3.2 系统部署 ............................................................................................................................7
3.3 系统的静态模型 ................................................................................................................8
四、详细设计 ..................................................................................................................................9
4.1 交互层设计 ........................................................................................................................9
4.2 交互逻辑层设计 ................................................................................................................9
4.3 控制层设计 ......................................................................................................................11
4.3 进程层设计 ......................................................................................................................12
4.4 资源层设计 ......................................................................................................................12
五、系统实现 ................................................................................................................................14
5.1 交互层的实现 ..................................................................................................................14
5.2 交互逻辑层的实现 ..........................................................................................................15
5.3 控制层的实现 ..................................................................................................................18
5.3 进程层的实现 ..................................................................................................................21
5.4 资源层的实现 ..................................................................................................................22
六、测试与分析 ............................................................................................................................24
6.1 系统资源初始化测试 ......................................................................................................24
6.2 系统资源初始状态的设置 ..............................................................................................24
6.3 进程初始化测试 ..............................................................................................................24
6.4 进程初始化设置 ..............................................................................................................25
6.5 执行进程测试 ..................................................................................................................25
课程设计总结 ................................................................................................................................26
参考文献 ........................................................................................................................................27
附录 A.............................................................................................................................................28
一、绪论
在具备多道程序并发执行能力系统中,系统资源运用率、进程执行效率都大幅增长,
但也许发生“死锁”危险。所谓死锁,是指各种进程因竞争资源而导致一种僵局,若无
外力作用,这些进程都将永远不能再向前推动。
而死锁产生因素有两点:竞争资源和进程推动顺序不合法。
为了避免死锁,使得进程执行可以顺利完毕,引入银行家算法进行解决。
银行家算法是具备代表性避免死锁算法,由于该算法能用于银行系统钞票贷款发放
而得名。
银行家算法包括三个方面内容:
1) 相应数据构造。
2) 银行家算法。
3) 安全性算法。
其中相应数据构造定义了银行家算法中需要使用若干数据构造,银行家算法操作数据构
造觉得安全性算法提供检测现场,安全性算法则是检测现场与否出于安全态。
系统安全状态是指可以按照某种顺序,来为每个进程分派其所需资源,直至最大需
求,使每个进程都可顺序完毕。若系统不存在这样一种安全序列,则称系统出于不安全
状态。
二、需求分析
问题描述:银行家算法是避免死锁有效办法,为了验证银行家算法可以避免死锁,需要
编写程序模仿银行家算法并加以验证。
2.1 银行家算法描述
银行家算法所涉及数据构造:
1) 可运用资源向量 Avaliable
它是一种 vector 向量,可被初始化任意长度,其中每一种元素代表一类可运用
资源数目。其值随着该类资源分派和回收而动态变化。
2) 最大需求矩阵 Max
这是一种 n×m 矩阵,她定义了系统中 n 个进程中每一种进程对 m 类资源最大
需求。
3) 分派矩阵 Allocation
这是一种 n×m 矩阵,她定义了系统中每一类资源当前已分派给每一进程资源
数。
4) 需求矩阵 Need
它是一种 n×m 矩阵,用以表达每一种进程尚需各类资源数。
以上三个矩阵间存在下述关系:
Need=Max-Allocation
银行家算法:
设 Request 是某一进程祈求向量。当进程发出祈求后,系统按下列环节进行检查:
1) 如果 Request
≤
Need,则转向环节 2;否则以为出错,由于她所需要资源数已超过
她所宣布最大值。
2) 如果 Request
≤
Avaliable,则转向环节 3;否则表达系统中尚无足够资源,进程必
剩余60页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2359
- 资源: 9万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功