下面的银行家算法解题过程程正确么?

专业文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“专业文档”标识的文档便是该类文档。

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档。

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取,非会员用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。

付费文档是百度文库认证用户/机构上传的专业性文档,需要文库用户支付人民币获取,具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档。

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档。

武 汉 理 工 大 学 华 夏 学 院课 程 设 计 报 告 书课程名称: 操作系统原理 题 目: 编程序模拟银行家算法 系 名: 信息工程系 专业班级: 软件 1111 姓 名: 张安格 学 号: 指导教师: 苏永红 2013 年 12 月 13 日武汉理工大学华夏学院信息工程系课 程 设 计 任 务 书课程名称: 操作系统原理课程设计 指导教师: 苏永红 班级名称: 软件 1111 开课系、教研室: 软件与信息安全 一、课程设计目的与任务操作系统课程设计是《操作系统原理》课程的后续实践课程,旨在通过一周的实践训练,加深学生对理论课程中操作系统概念,原理和方法的理解,加强学生综合运用操作系统原理、Linux 系统、C 语言程序设计技术进行实际问题处理的能力,进一步提高学生进行分析问题和解决问题的能力,包含系统分析、系统设计、系统实现和系统测试的能力。学生将在指导老师的指导下,完成从需求分析,系统设计,编码到测试的全过程。二、课程设计的内容与基本要求1、课程设计题目编程序模拟银行家算法2、课程设计内容本课程设计要求在 Linux 操作系统,GCC 编译环境下开发。银行家算法是避免死锁的一种重要方法,本实验要求用用 c/c++语言在 Linux 操作系统环境下编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。思想:将一定数量的资金供多个用户周转使用,当用户对资金的最大申请量不超过现存资金时可接纳一个新客户,客户可以分期借款,但借款总数不能超过最大的申请量。银行家对客户的借款可以推迟支付,但是能够使客户在有限的时间内得到借款,客户得到所有的借款后能在有限的时间内归还。用银行家算法分配资源时,测试进程对资源的最大需求量,若现存资源能满足最大需求就满足当前进程的申请,否则推迟分配,这样能够保证至少有一个进程可以得到所需的全部资源而执行到结束,然后归还资源,若 OS 能保证所有进程在有限的时间内得到所需资源则称系统处于安全状态。3、设计报告撰写格式要求:1 设计题目与要求 2 设计思想3 系统结构 4 数据结构的说明和模块的算法流程图5 使用说明书(即用户手册):内容包含如何登录、退出、读、写等操作说明6 运行结果和结果分析(其中包括实验的检查结果、程序的运行情况)7 自我评价与总结8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释;三、课程设计步骤及时间进度和场地安排本课程设计将安排在第 15 周, 教育技术中心。具体安排如下:第一天 下发任务书,学生查阅资料第二天 系统设计和原型开发第三,四天 系统功能实现第五天 系统调试 测试 打包和验收四、课程设计考核及评分标准课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。具体评分标准如下:设置六个评分点(1)设计方案正确,具有可行性、创新性; 25 分(2)系统开发效果较好; 25 分(3)态度认真、刻苦钻研、遵守纪律; 10 分(4)设计报告规范、课程设计报 告质量高、参考文献充分 20 分(5)课程设计答辩概念清晰,内容正确 10 分(6)课程设计期间的课堂考勤、答疑与 统筹考虑。 10 分按上述六项分别记分后求和, 总分按五级记分法记载最后成 绩。优秀(100~90分),良好(80~ 89分), 中等(70~79分),及格(60~69分),不及格(0~59 分)1.题目要求与实验目的1.1 实验目的: 1.1.1 进一步理解利用银行家算法避免死锁的问题; 1.1.2 在了解和掌握银行家算法。 1.1.3 理解和掌握安全序列、安全性算法1.2 设计题目:编程序模拟银行家算法 1.3 要求 :本实验要求用用 c/c 语言在 Linux 操作系统环境下编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。1.4 实验内容 :1.4.1 编写安全性算法;1.4.2 编写银行家算法,并编制银行家算法通用程序,将调试结果显示在计算机屏幕上,再检测和笔算的一致性。2 设计思想 将一定数量的资金供多个用户周转使用,当用户对资金的最大申请量不超过现存资金时可接纳一个新客户,客户可以分期借款,但借款总数不能超过最大的申请量。银行家对客户的借款可以推迟支付,但是能够使客户在有限的时间内得到借款,客户得到所有的借款后能在有限的时间内归还。用银行家算法分配资源时,测试进程对资源的最大需求量,若现存资源能满足最大需求就满足当前进程的申请,否则推迟分配,这样能够保证至少有一个进程可以得到所需的全部资源而执行到结束,然后归还资源,若 OS 能保证所有进程在有限的时间内得到所需资源则称系统处于安全状态。3.需求分析 3.1 问题描述:利用银行家算法模拟计算机系统分配资源的过程。3.2 要求:3.2.11、以课本例题中数据为例,模拟资源分配过程。 3.2.2、系统中资源种类,各类资源数目,进程申请资源数目可任意输入,模拟资源分配过程。 4. 系统结构 初始化函数 init()开始输入进程的数目 m输入资源种类 n输入每个进程最多所需的各种资源数输入每个进程分配的资源数输入各个资源现有数目初始化函数 init()结束输入提示:输入有误重新输入图 15.数据结构的说明和模块的算法流程图5.1 数据结构:①可利用资源向量 Available 是个含有 m 个元素的数组,其中的每一个元素代表一类可利用的资源数目。如果 AvailablejK,则表示系统中现有 Rj 类资源 K 个。②最大需求矩阵 Max 这是一个 n×m 的矩阵,它定义了系统中 n 个进程中的每一个进程对 m 类资源的最大需求。如果 MaxijK,则表示进程 i 需要 Rj 类资源的最大数目为 K。 ③ 分配矩阵 Allocation 这也是一个 n×m 的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果 AllocationijK,则表示进程 i 当前已分得 Rj 类资源的 数目为 K。 ④需求矩阵 Need。 这也是一个 n×m 的矩阵,用以表示每一个进程尚需的各类资源数。如果 NeedijK,则表示进程 i 还需要 Rj 类资源 K 个,才可以完成其任务。 5.2 程序流程图:①、系统主要过程流程 预分配安全?实际分配打印输出退出系统Request[i]Available[i]?Request[i]need[i]?提出申请打印输出此时刻资源分配情况进入系统输入:1.

我要回帖

更多关于 银行家算法解题过程 的文章

 

随机推荐