- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汪玮操作系统银行家算法
操作系统课程设计任务书
学 院 计算机与信息工程学院 专 业 网络工程 课程名称 操作系统 题 目 银行家算法的实现 完成期限 自2013年6月3日至2013年6月30日共4周 内
容
及
任
务 一、项目的目的
1.定义相关数据结构;
2.编程实现银行家算法;
3.分析和验证银行家算法程序。
二、项目任务的主要内容和要求
根据银行家算法的基本思想,设计相关数据结构,编写程序实现银行家算法中各个功能模块,并通过数据验证该算法;按照要求撰写课程设计报告。
三、项目设计(研究)思路
银行家算法是一个用来预防系统进入死锁状态的算法,用它可以判断系统的安全性,如果系统当前处于安全状态,则可以为申请资源的进程分配资源,如果不是安全状态,则不能为申请资源的进程分配资源。
银行家算法执行过程中,首先判断申请资源的进程所申请的资源数目是否合法,若是合法的,则可以为其进行试分配,再利用安全性算法求出安全序列,如果存在安全序列,则说明可以给申请资源的进程分配资源,分配成功,继续为其它进程服务。如果找不到安全序列,则说明为该进程分配资源后系统会进入不安全状态,所以不能为该进程分配资源,使该进程进入阻塞状态。若申请资源的进程申请的资源数目不合法,则不需要进行试分配,直接使其进入阻塞状态,处理其他申请资源的进程。
首先对算法的设计从总体上进行了分析,然后分析各个细节,再对算法分模块设计,并对各个模块的算法思想通过流程图表示,分块编写代码,并进行调试和测试,最后进行组装测试及系统测试,使其成为一个可以用来判断系统安全状态的程序。
四、具体成果形式和要求
1.深入理解银行家算法。
2.用C语言编程实现银行家算法。
3.建立相对友好的界面。
4.撰写课程设计文档。 进
度
安
排 起止日期 工作内容 2013.6.3—2013.6.8 分析题目,分配任务,查找资料 2013.6.9—2013.6.24 编写源代码,测试并修改 2013.6.25—2013.6.30 书写课程设计报告 主
要
参
考
资
料 1.汤子瀛.计算机操作系统(第三版)[M].西安电子科技大学出版社.2009;
2.方敏.操作系统教程[M].西安电子科技大学出版社.2006;
3.周湘贞.操作系统原理与实践教程[M].清华出版社.2005;
4严蔚敏.数据结构(C语言版)[M].清华大学出版社.2009; 指导教师
意见
(签字): 年 月 日 系(教研室)主任意见
(签字): 年 月 日
操作系统设计说明书
学院名称: 计算机与信息工程学院
班级名称: 网工111班
学生姓名: 汪玮,金良民,李亮,何玉琴,李宁
学 号: 2011211301、2011211272、2011211277
2011211265、2011211278
题 目: 银行家算法的实现
指导教师
姓 名: 赵国柱
起止日期:自2013年6月3日至2013年6月30日
第一部分:正文部分 1
一、选题背景 1
二、设计思路 1
三、过程论述 1
3.1 全性算法的算法思想 1
3.1.1 银行家算法中的数据结构 1
3.1.2.设置向量 2
3.1.3.安全性检测流程图 2
3.2.银行家算法的算法思想 4
3.2.1. 银行家算法 4
3.2.2. 银行家算法流程图 4
四、结果分析 5
五、结论 8
第二部分:参考文献 8
第三部分: 指导教师评语 9
第四部分:成绩评定 9
附录 10
第一部分:正文部分
一、选题背景
在具有多道程序并发执行能力的系统中,系统资源的利用率、进程执行的效率都大幅增加,但可能发生“死锁”的危险。所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。而死锁产生的原因有两点:竞争资源和进程推进的顺序不合法。为了避免死锁,使得进程的执行能够顺利完成,引入银行家算法进行解决。银行家算法是具有代表性的避免死锁的算法,由于该算法能用于银行系统现金贷款的发放而得名。
二、设计思路
文档评论(0)