银行家算法毕业论文.pdfVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

银行家算法毕业论文

题目:银行家算法设计

摘要

Dijkstra的银行家算法是最有代表性的避免死锁的算法,该算法由于能用于

银行系统现金贷款的发放而得名。银行家算法是在确保当前系统安全的前提下推

进的。对进程请求先进行安全性检查,来决定资源分配与否,从而确保系统的安

全,有效的避免了死锁的发生。

该论文在理解和分析了银行家算法的核心思想以及状态的本质涵义的前提

下,对算法的实现在总体上进行了设计,包括在对算法分模块设计,并对各个模

块的算法思想通过流程图表示,分块编写代码,并进行测试,最后进行程序的测

试,在设计思路上严格按照软件工程的思想执行,确保了设计和实现的可行,可

信。代码实现采用C语言。

关键词:银行家算法;死锁;避免死锁;安全性序列

目录

中文摘要I

1绪论

1.1课题背景

1.2课题意义…………………….1

1.3银行家算法

1.4死锁

1.5安全性序列

2需求分析

2.1问题描述

2.2基本要求

2.3数据流模型

3概要设计

3.1模块的划分

3.2模块调用关系

3.3各模块之间的接口

程序流程图

4详细设计

4.1数据结构选取分析

4.2数据结构设计

4.3算法整体设计与调用

4.4模块设计与时间复杂度分析

系统资源初始化函数Init_process7

安全性算法Safety_Algorithm7

接受进程请求试分配Attempt_Allocation;7

对试分配后的系统进行安全性检查Safety_Algorithm……………….8

系统以及进程资源初始化Init_process的程序流程图………………..8

安全性算法Safety_Algorithm的程序流程图

接受进程请求试分配Attempt_Allocation的程序流程图9

对试分配后的系统进行安全性检查Safety_Algorithm

5程序分析测试………...

与测试

初始化系统资源模块Init_process的测试……………10

试分配模块Attempt_Allocation的测试………………11

安全模块Safety_Algorithm的调试…………………...11

6小结

参考文献

附录(源代码)

1绪论

在多道程序系统中,虽可以借助多个进程的并发执行来改善系统的资源

利用率,提高系统吞吐量,但可能发生一种危险——死锁,即多个进程在运

行过程中因争夺资源而造成的一种僵局,若无外力作用,将无法再向前推进。

如此,寻求一种避免死锁的方法便显得有为重要。死锁的产生一般的原因有

两点:竞争资源和进程间推进顺序非法。因此,我们只需在当前的有限资源

下,找到一组合法的执行顺序,便能很好的避免死锁,我们称它为安全序列。

而银行家算法起源于银行系统的发放贷款,和计算机操作系统的资源分配完

全符合,因此可以借鉴该算法的思想,设计出一种有效的算法程序,解决该

问题。

1.2课题意义

(1)运用软件工程的方法指导设计和实现,即是对这学期刚刚学过的软件

工程课的复习,又是一次实战演练,从而提高自己的分析问题,解决问题和动手

能力;

(2)通过整个算法的设计与实现进一步加深了对算法的理解和多道程序下

的计算机系统资源分配现状,为以后进一步的学习打下了良好的基础。

1.3银行家算法

我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理

的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。

为保证资金的安全,银行家规定:

(1)当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接

纳该顾客;

(2)顾客可以分歧贷款,但贷款的总数不能超过最大需求量;

(3)当银行家现有的资金不能满足顾客尚需的贷款数额时,对顾客的贷款

可推迟支付,但

文档评论(0)

132****1109 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档