ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:239.68KB ,
资源ID:30167789      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30167789.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(作操系统课程设计报告编程序模拟银行家算法 课程设计大学论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

作操系统课程设计报告编程序模拟银行家算法 课程设计大学论文.docx

1、作操系统课程设计报告编程序模拟银行家算法 课程设计大学论文武汉理工大学华夏学院课程设计报告书课程名称: 操作系统原理 题 目: 编程序模拟银行家算法 系 名: 信息工程系 专业班级: 计算机1102班 姓 名: 何利华 学 号: 10210410211 指导教师: 赵传斌 苏永红 2013 年 1 月 17 日课程设计任务书学生姓名: 何利华 专业班级: 计算机1102 指导教师: 苏永红 赵传斌 工作单位: 信息工程系 设计题目:编程序模拟银行家算法初始条件:Linux操作系统,GCC编译环境要求完成的主要任务:主要任务:银行家算法是避免死锁的一种重要方法,本实验要求用用c/c+语言在Lin

2、ux操作系统环境下编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。思想:将一定数量的资金供多个用户周转使用,当用户对资金的最大申请量不超过现存资金时可接纳一个新客户,客户可以分期借款,但借款总数不能超过最大的申请量。银行家对客户的借款可以推迟支付,但是能够使客户在有限的时间内得到借款,客户得到所有的借款后能在有限的时间内归还。用银行家算法分配资源时,测试进程对资源的最大需求量,若现存资源能满足最大需求就满足当前进程的申请,否则推迟分配,这样能够保证至少有一个进程可以得到所需的全部资源而执行到结束,然后归还资源,若OS能保证所有

3、进程在有限的时间内得到所需资源则称系统处于安全状态。设计报告撰写格式要求:1设计题目与要求 2 设计思想 3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(即用户手册):内容包含如何登录、退出、读、写等操作说明6 运行结果和结果分析(其中包括实验的检查结果、程序的运行情况)7 自我评价与总结 8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释; 时间安排 1月14日 布置课程设计任务;分配题目后,查阅资料、 准备程序; 1月 151月17 日上机调试程序、书写课程设计报告;1月18 日 提交课程设计报告及相关文档。指 导 教 师 签 字: 2012年

4、 12月 29日 系 主 任 签 字: 2013年 1月 21设计题目与要求1.1 设计题目 编程序模拟银行家算法1.2 要求 本实验要求用用c/c+语言在Linux操作系统环境下编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。2 设计思想思想:将一定数量的资金供多个用户周转使用,当用户对资金的最大申请量不超过现存资金时可接纳一个新客户,客户可以分期借款,但借款总数不能超过最大的申请量。银行家对客户的借款可以推迟支付,但是能够使客户在有限的时间内得到借款,客户得到所有的借款后能在有限的时间内归还。用银行家算法分配资源时,测试进

5、程对资源的最大需求量,若现存资源能满足最大需求就满足当前进程的申请,否则推迟分配,这样能够保证至少有一个进程可以得到所需的全部资源而执行到结束,然后归还资源,若OS能保证所有进程在有限的时间内得到所需资源则称系统处于安全状态。3系统结构 图 14数据结构的说明和模块的算法流程图4.1数据结构:1)可利用资源向量Available是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目。如果Availablej=K,则表示系统中现有Rj类资源K个。2)最大需求矩阵Max这是一个nm的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Maxi,j=K,则表示进程i需要Rj

6、类资源的最大数目为K。3)分配矩阵Allocation这也是一个nm的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocationi,j=K,则表示进程i当前已分得Rj类资源的 数目为K。4)需求矩阵Need。这也是一个nm的矩阵,用以表示每一个进程尚需的各类资源数。如果Needi,j=K,则表示进程i还需要Rj类资源K个,方能完成其任务。Needi,j=Maxi,j-Allocationi,j42程序流程图:1、系统主要过程流程图1 图1图12、安全性算法流程图5 使用说明书(即用户手册) 5.1首先在终端中使用vi编辑器建立c的源文件5.2然后使用gcc编辑器编译生

7、成可执行文件5.3使用命令./当前名字,来执行6运行结果和结果分析61运行结果:申请成功如图2,申请失败如图3:图2申请金额在需求范围之内同意图3申请金额在需求范围之外拒绝5.2 结果分析 首先是自己定义5个用户所需的金额数,银行可以给用户贷款的总金额数是100,用户Id号的范围是在0到4,超过4之后的id请求贷款,会显示拒绝提示信息,每个客户的贷款数量必须是在之前定义的范围之内,如果超出,也会出现错误提示,只有在规定的用户id和在客户所要求金额的范围之内请求,才会给予贷款,并且输出安全序列号。6自我评价与总结经过本周的课程设计,我对操作系统的掌握又进了一步,收获了很多知识。由于对c语言不够熟

8、练,在试验过程中,进行了反复的修改和调试,终于我了解银行家算法的基本原理,并且在此次的课程设计中我又复习了一下c语言,加深了对它的了解,而且在课程设计的过程中我们同样学会了如何简单的操作与使用Linux操作系统,学习到了许多Linux操作系统中常用的一些密令。这次的设计数据是通过一道实际的题目来体现银行家算法避免死锁的问题,先用银行家算法给其中一个进程分配资源,看它所请求的资源是否大于它的需求量,才和系统所能给的资源相比较.让进程形成一个安全队列,看系统是否安全.再利用安全性算法检查此时系统是否安全。7附录:源程序清单#include int ALLOCATION5=0,0,0,0,0;int

9、 AVAILABLE=100;int NEED5;int REQUEST=0;int main() int cid=-1; int m;for(m=0;mNEEDcid) printf(拒绝%d号客户的贷款请求!n,cid); continue; if(REQUESTAVAILABLE) printf(拒绝%d号客户的贷款请求!n,cid); continue; /试探分配 ALLOCATIONcid+=REQUEST; AVAILABLE-=REQUEST; NEEDcid-=REQUEST; /进行安全性检查,若安全则贷款成功,否则取消贷款 int WORK=AVAILABLE; int

10、FINISH5=0,0,0,0,0; int safe_indexs5; int i=0; int j=0; for(;i5;i+) if(0=FINISHi & NEEDi=WORK) FINISHi=1; WORK+=ALLOCATIONi; safe_indexsj=i; j+; i=0; for(i=0;i5;i+) if(0=FINISHi) break; if(5=i) printf(同意%d号客户贷款请求!n,cid); printf(安全序列为:); for(j=0;j5;j+) printf(%d ,safe_indexsj); printf(n); else printf(

11、拒绝%d号客户贷款请求!n,cid); ALLOCATIONcid-=REQUEST; AVAILABLE+=REQUEST; NEEDcid+=REQUEST; return 0;设计过程中质疑(或答辩)记载:1 在怎样的情况下会出现拒绝客户的请求?答:由于客户的需求已知,当客户输入的id号不正确和客户此时需申请的金额超过之前要求的金额数量时,会提示拒绝客户的请求。只有在规定的序列号范围和要求的金额之内的请求,才会允许客户的申请。2.在什么情况下,会产生安全序列?答:安全序列,是保证客户正常贷款的一个安全机制,之有出现安全序列的情况下,才会允许客户的申请,故只有在正常的情况才会出现,即客户输入的id号正确和金额在要求范围之内,才会出现安全序列号。指导教师评语:签名: 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1