欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统课程设计报告--银行家算法

    • 资源ID:1417554       资源大小:529.50KB        全文页数:26页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    操作系统课程设计报告--银行家算法

    1、 操作系统课程操作系统课程设计设计报告报告 题目题目:银行家算法银行家算法 院院 (系) :(系) : 信息科学与工程学院信息科学与工程学院 专专 业:业: 计算机多媒体技术计算机多媒体技术 班班 级:级: 学学 生:生: 学学 号:号: 指导教师:指导教师: 操作系统操作系统课程设计报告课程设计报告 摘摘 要要 Dijkstra 提出的银行家算法,是最具代表性的避免死锁的算法。 本文对如何用银行家算法来处理操作系统给进程分配资源做了详细的说 明,包括需求分析、概要设计、详细设计、测试与分析、总结、源程序清单。 首先做了需求分析,解释了什么是银行家算法,并指出它在资源分配中的 重要作用。 然后

    2、给出了银行家算法的概要设计,包括算法思路、步骤,以及要用到的 主要数据结构、函数模块及其之间的调用关系等。 在概要设计的基础上,又给出了详细的算法设计,实现概要设计中定义的 所有函数,对每个函数写出核心算法,并画出了流程图。 接着对编码进行了测试与分析(并在最后附上 Java 编写的程序代码) 。 最后对整个设计过程进行了总结。 关键词关键词:安全状态;安全序列;银行家算法;安全性算法;安全序列;流 程图。 目录目录 摘要摘要 . 1 1绪论绪论 . 4 1.1 前言前言 . 4 1.2 研究意义研究意义 4 1.3 结构安排结构安排 5 2需求分析需求分析 6 2.1 题目描述题目描述 6

    3、2.2 银行家算法银行家算法 6 2.3 基本要求基本要求 6 2.4 目的目的 . 7 3概要设计概要设计 8 3.1 基本思路基本思路 8 3.2 银行家算法步骤银行家算法步骤. 8 3.3 安全型算法步骤安全型算法步骤. 8 3.4 数据结构数据结构 9 3.4.1 主要用到的数据结构 9 3.4.2 程序模块 9 3.4.3 各模块间的调用关系10 4详细设计详细设计 11 4.1 主要函数的核心代码主要函数的核心代码 11 4.1 程序流程图程序流程图 .11 5测试测试 . 14 5.1 测试用例测试用例 .14 5.1 测试结果分析和截图测试结果分析和截图 14 6总结总结 .

    4、18 参考文献参考文献 20 附录:原程序清单附录:原程序清单 . 21 绪论绪论 1 1 1 绪论绪论 1 11 1 前言前言 : Dijkstra (1965)提出了一种能够避免死锁的调度算法,称为银行家算法。 它的模型基于一个小城镇的银行家, 他向一群客户分别承诺了一定的贷款额 度,每个客户都有一个贷款额度,银行家知道不可能所有客户同时都需要最大贷 款额,所以他只保留一定单位的资金来为客户服务,而不是满足所有客户贷款需 求的最大单位。 这里将客户比作进程,贷款比作设备,银行家比作系统。 客户们各自做自己的生意,在某些时刻需要贷款。在某一时刻,客户已获得 的贷款和可用的最大数额贷款称为与资

    5、源分配相关的系统状态。 一个状态被称为 是安全的,其条件是存在一个状态序列能够使所有的客户均得到其所需的贷款。 如果忽然所有的客户都申请,希望得到最大贷款额,而银行家无法满足其中任何 一个的要求,则发生死锁。不安全状态并不一定导致死锁,因为客户未必需要其 最大贷款额度,但银行家不敢抱这种侥幸心理。 银行家算法就是对每一个请求进行检查, 检查如果满足它是否会导致不安全 状态。若是,则不满足该请求;否则便满足。 检查状态是否安全的方法是看他是否有足够的资源满足一个距最大需求最 近的客户。如果可以,则这笔投资认为是能够收回的,然后接着检查下一个距最 大需求最近的客户,如此反复下去。 如果所有投资最终

    6、都被收回,则该状态是安全的,最初的请求可以批准。 1 12 2 研究意义研究意义 : 在多道程序系统中,多个进程的并发执行来改善系统的资源利用率,提高系 统的吞吐量,但可能发生一种危险死锁。所谓死锁(Deadlock),是指多个进 程在运行过程中因争夺资源而造成的一种僵局(DeadlyEmbrace) ,当进程处于这 种状态时,若无外力作用,他们都无法在向前推进。 银行家算法课程设计报告银行家算法课程设计报告 2 要预防死锁,有摒弃“请求和保持”条件,摒弃“不剥夺”条件,摒弃“环 路等待”条件等方法。 但是,在预防死锁的几种方法之中,都施加了较强的限制条件;而在避免死 锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统性能。在该方 法中把系统状态分为安全状态和不安全状态,便可避免死锁的发生。 而最具代表性的避免死锁的算法,便是 Dijkstra 的银行家算法。 利用银行家算法,我们可以来检测


    注意事项

    本文(操作系统课程设计报告--银行家算法)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583