银行家算法课程设计报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学与计算机学院 课程设计说明书 课 程 名 称: 操作系统原理-课程设计 课 程 代 码: 8404061 题 目: 银行家算法 年级/专业/班: 2009级软件工程2班 学 生 姓 名: 闵地林 学 号: 312009080611202 开 始 时 间: 2011 年 12 月 05 日 完 成 时 间: 2011 年 12 月 25 日 课程设计成绩: 学习态度及平时成绩(30) 技术水平与实际能力(20) 创新(5) 说明书撰写质量(45) 总 分(100) 指导教师签名: 年 月 日 目 录 1 引 言 1 1.1 问题的提出 1 1.2任务与分析 1 2 需求分析 1 2.1数据的初始化 1 2.2银行家算法 1 2.3 系统安全性的检测 1 2.4显示功能 1 2.5恢复功能 1 2.6菜单功能 2 3 程序运行平台 2 4 总体设计 2 5 详细设计 2 5.1数据的录入 2 5.2 显示模块 4 5.3 系统安全状态检测 5 5.4 系统试为进程分配资源 7 5.5 恢复函数 8 5.6 菜单选项 8 6 系统测试 9 7 结论 13 参考文献 15 摘 要 随着计算机的普及计算机的日新月异,计算机可以说在飞速的发展着,计算机领域的相关技术也越来越高,许多的技术得到了较好的改进,使计算机越来越满足人们的要求和生活习惯,这也是计算机得到飞速发展的原因之一,。随着计算机的发展,人们对计算机的需求也越来越高,为了防止用户操作过于平凡,导致计算机同一时刻进程过多而产生死锁,所以本次任务主要是编写银行家算法避免计算机产生死锁。经过分析,本次主要是银行家算法通用程序的编写,以及测试所跟进程状态的安全性,经查阅相关资料,了解了银行家算法的大体思路,经过设计流程图,用java语言,利用neatbean 6.9实现了银行家算法的通用程序,该程序具有输入进程资源以及计算机可利用资源的数量,即初始化。输出资源进程资源信息,检测系统安全性,进程请求资源,系统试为进程分配资源,不成功恢复资源等功能。因此银行家算法的各种功能基本已经实现。 关键词:银行家算法通用程序;计算机;避免死锁的算法 1 引 言 1.1 问题的提出 在多道程序程序系统中,虽可借助于多个进程的并发执行来改善系统资源利用率,提高系统的额吞吐量,但是可能会发生一种危险—死锁。所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,他们将无法再向前推进。为了避免这种情况的发生,本次利用课程设计之际,编写了一个银行家算法通用程序,避免死锁在发生。 1.2任务与分析 本课题主要的目的是编写银行家算法通用程序,功能主要包括银行家算法中数据结构的初始化,银行家算法的实现,安全性检测的算法实现等等。以及对给定的状态进行测试安全性等。 2 需求分析 2.1数据的初始化 对银行家算法中的数据结构进行初始化,包括资源种类和进程数目的输入,可利用资源的初始化,进程的最大需求矩阵,分配矩阵。 2.2银行家算法 对一个进程请求的资源进行判断,看是否可以为其立即进行资源的分配。若可以,试着分配,并且进行安全性的检测,若不安全,恢复原来的资源分配情况。 2.3 系统安全性的检测 能够对某时刻的资源分配情况进行检测,判断系统是否安全。 2.4显示功能 显示某时刻资源的分配状态 2.5恢复功能 对进程请求资源,已获得分配的,经检测不安全的状态进行恢复为请求前的状态 2.6菜单功能 列出用户能操作的选项 3 程序运行平台 Neatbean IDE 6.9 具体操作如下:文件-打开项目-运行-运行文件。 4 总体设计 图4.1 系统总体框架图 5 详细设计 5.1数据的录入 选择数据录入菜单后,系统将提示用户输入相关的数据。包括输入资源种类,进程数目,以及可利用资源数目。进程最大需求矩阵,已分配矩阵。 流程图如图6.1: 关键代码: /*----------------------------初始化函数------------------------------*/ public void input(){ System.out.println(请输入资源的种类n和进程数m:); n=sc.nextInt() ; m=sc.nextInt();

文档评论(0)

yyh892289 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档