银行家算法避免死锁的研究与实现_毕业论文(编辑修改稿)内容摘要:
设计) 9 图 7 试分配后,安全性检查的程序流程图 5 程序分析测试 分模块分析与测试 ( 1)初始化系统资源模块 Init_process 的测试 图 8 初始化系统资源模块 Init_process 的测试 N Y i m。 m。 恢复系统资源 i=0 i ++。 开始 Int i。 结束 银行家算法避免死锁的研究与实现 10 按提示输入,以 1 结束整个初始化过程,并打印结果。 起初效果不理想,经过一些调整后,显示才比较理想。 如图 8 所示。 (2)试分配模块 Attempt_Allocation 的测试 图 9 试分配模块 Attempt_Allocation 的测试 试分配模块,主要是在系统进入第一次安全检查后,对系统资源的一次尝试性分配,试分配完成后,相关的数据结构被修改。 如图 9 所示。 (3)安全模块 Safety_Algorithm 的调试 试分配前的安全算法,结果如果输出一个安全性序列,并且经过人工检查该安全性序列,确实有效,则该模块正确 ,如图 10 所示;如果系统不安全,打印出相关信息,返回上一层。 如图 11所示。 图 10 安全模块 Safety_Algorithm 的调试的安全状态 图 11 安全模块 Safety_Algorithm 的 调试的不安全状态 试分配后的安全算法,结果如果输出一个安全性序列,并且经过人工检查该安全性序列,确实有效,则该模块正确,如图 12 所示;否则,之前的试分配作废,恢复试分配前的资源状态。 如图 13 所示。 长治学院学士学位论文(设计) 11 图 12 试分配后输出一个安全性序列 图 13 试分配后不安全状态的资源恢复 集成测试 各模块测试通过后,集成在一起测试,系统初始资源和模块测试时保持一致,以下是测试用例以及结果, 基本包括了该算法的所有情况。 ( 1) 06: 结果: 无此进程。 ( 2) 01: Request(2,0,2) 结果: 系统不能满足。 ( 3) 01: Request(1,0,2) 结果: 两次安全性检查都通过,并打印出最终结果。 ( 4) 00: Request(0,2,0) 结果: 试分配后,系统不安全,试分配作废。 ( 5) 00: Request(0,1,0) 结果: 两次安全性检查都通过,并打印出最终结果。 银行家算法避免死锁的研究与实现 12 6 结论 银行家算法避免死锁的研究与实现作为我的毕业设计。 首先,我在网上收集了一些关于银行家算法的资料,包括它的起源,以及在实际中多个领域的应用,加深了对它的理解。 之后,确定自己设计的算法分四大模块。 首先需要初识化系统资源;其次,安全性检查;再者,试分配;最后是试分配后的安全性检查。 在程序测试中出现了很多问题。 譬如,死循环,逻辑关系的设计不当,还有显示效果不理想等等。 但通过查阅书本,对算法细节重新建立正确的认识后,再通过单步调试后,最终解决。 在集成测试中,由于之前的模块测试做的比较扎实,所以相对只是一些细节上的问题,很快也达到了预期的效果。 参考文献 [1] 严蔚敏 ,吴伟民 .数据结构 (C 语言版 )[M].北京 :清华大学出社 ,20xx. [2] 汤小丹 ,梁红兵 ,哲凤屏 等 .计算机操作系统 (第三版 )[M].西安 :西安电子科技大学出版社 ,20xx. [3] 谭浩强 .C 语言程序设计 [M].北京 :清华大学出版社 ,20xx. [4] 于帆 ,赵妮 .程序设计基础 [M].北京 :清华大学出版社 ,20xx. [5] 罗宇 .操作系统课程 [M].北京 :设计机械工业出版社 ,20xx. [6] 黄水松 ,黄干平 ,曾平 .计算机操作系统 [M].武汉 :武汉大学出版社 ,20xx. [7] 鞠时光 .操作 系统原理 [M].武汉 :武汉理工大学出版社 ,20xx. [8] 何炎祥 ,熊前兴 .操作系统原理 [M].武汉 :华中科技大学出版社 ,20xx. [9] 张丽芬 ,刘美华 .操作系统原理教程 [M].北京 :电子工业出版社 ,20xx. [10] 陈火 .数据结构与算法 [M].广东 :中山大学出版社 ,20xx. [11] 郑扣根 .操作系统概念 (第七版 )[M].北京 :高等教育出版社 ,1992. [12] 赵莉 ,杨国梁 ,孙喁喁 ,徐飞 .Java 程序设计教程 [M].西安 :西安科技大学出版社 ,20xx. [13] 陈向群 ,向勇 ,王雷 .Windows 操作系统原理 (第二版 )[M].北京 :北京机械工业出版社 ,20xx. 长治学院学士学位论文(设计) 13 Bankers Algorithm To Avoid Deadlock Research and Implementation Major:Computer Science and technology Name: Wang Zidan Student ID: 09407227 Supervisor:Shan Fenli Abstract:Bankers algorithm what Dijkstra put forward is the most representative of the algorithm to avoid deadlock, this algorithm can be used for the banking system because of its cash loans. Bankers algorithm is advancing in the premise of ensuring the system security. The first is that security check to process requests, to determine the allocation of resources or not, so as to ensure the safety of the system, to avoid deadlock. This paper on the understanding and analysis of the essential meaning of bankers algorithm as well as the state of the core idea, the algorithm is implemented in the overall design, including the module design of algorithm, and the algorithm of each module through a flow chart, block coding, and testing, the final program in the test, the design ideas on strictly according to the thought of software engineering implementation, to ensure that the design and implementation of feasible, credible. Keywords: bankers algorithm。 deadlock。 avoid deadlock。 secure sequence 银行家算法避免死锁的研究与实现 14 致谢 在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。 尤其要感谢我的论文指导老师 —— 陕粉丽 老师,她对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。 另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。 在此向帮助和指导过我的各位老师表示最 真诚 的感谢。 此外,还要 感谢我的同学和朋友,在我写论文的过程中给予我很多素材,还在论文的撰写和排版 的 过程中提供热情的帮助。 由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师批评和指正。 长治学院学士学位论文(设计) 15 附录 //银行家算法 include include include define M 3 define N 10 define D12 %5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d typedef struct my_process { int num。 int Max[M]。 int Allocation[M]。 int Need[M]。 struct my_process* next。 }process。银行家算法避免死锁的研究与实现_毕业论文(编辑修改稿)
相关推荐
只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。 现在我们总结 MVC 的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返 回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。 由上述可知, MVC 模式的处理过程是:首先由控制器接收用户的请求
比如可与相关的行业软件及数据库连接便于对各个窗口服务情况进行统计管理。 在排队系统的组网形式方面 , 随着计算机技术与通信技术的飞速发展 , 智能排队管理系统已在有线方式的基础上发展到了 无线排队系统 , 无线方式较之有线方式具有不受环境影响、安装调试方便、系统稳定可靠等优点 , 缺点是成本较高。 我国是一个人口大国 , 随着经济发展速度的加快 , 大量的用户越来越多的光顾金融、电信、医疗
务 活动图 .........................................................................................................9 资金调拨 活动图 .............................................................................
SQL Server 一般只能运行在 windows 上,相对地来说,开放性不是很好,对于数据库管理来说,操作系统的稳定性是非常重要 的。 Windows9X 系列产品主要侧重桌面应用, NT server一般主要对中小型企业适用。 并且 windows 平台的可靠性、安全性以及伸缩性都是相当有限的。 尤其在处理拥有大数据量的关键业务时,它不像 UNIX 那样经得起考验。 Oracle
律法规和监管规定:合规内控管理体系必须满足法律法规要求和各项监管要求,因此, xxxx 分行的合规内控管 理体系应满足《商业银行法》、《商业银行内部控制评价试行办法》、《合规指导意见》( xx 银监局)等法律法规和监管规定,同时还应充分考虑诸如《股份制商业银行董事会尽职指引》等文件对银行报告路线、制衡机制等方面的要求和影响。 对各项法律法规和监管要求
16L 显示排队等待情况,控制 蜂鸣器 发声完成叫号功能。 图 1整体方案框图 因为采用矩阵键盘完成排队取号流程,但客户较多的时候要实现排队取号的功 能,就要占去过多的 I/O 端口,操作起来也比较复杂,而方案二的独立键盘操作控制简单,占用主机资源少,所以选择方案二,采用独立键盘控制排队取号,通过串行通信的方式,模拟排队取号管理系统的流程显得更加方便、科学。 89C52 蜂鸣器