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

上传人:lizhe****0001 文档编号:46076960 上传时间:2018-06-21 格式:DOC 页数:22 大小:164.50KB
返回 下载 相关 举报
操作系统课程设计银行家算法课程设计报告_第1页
第1页 / 共22页
操作系统课程设计银行家算法课程设计报告_第2页
第2页 / 共22页
操作系统课程设计银行家算法课程设计报告_第3页
第3页 / 共22页
操作系统课程设计银行家算法课程设计报告_第4页
第4页 / 共22页
操作系统课程设计银行家算法课程设计报告_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《操作系统课程设计银行家算法课程设计报告》由会员分享,可在线阅读,更多相关《操作系统课程设计银行家算法课程设计报告(22页珍藏版)》请在金锄头文库上搜索。

1、操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 操作系统操作系统-银行家算法银行家算法课程设计报告课程设计报告姓姓 名:名: 赵明赵明 学学 号:号:070609313 班班 级:级:07 计科计科 9 班班 专专 业:业:计算机科学与技术计算机科学与技术 操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 西安工业大学西安工业大学 计算机科学与信息学院计算机科学与信息学院目目 录录1 1 课程设计目的课程设计目的 1 12 2 课程设计的要求课程设计的要求 1 13 3 课程设计题目描述课程设计题目描述 2

2、24 4 课程设计之银行家算法原理课程设计之银行家算法原理 2 25 5 源程序结构分析及代码实现源程序结构分析及代码实现 4 46 6 课程设计总结课程设计总结 2525一、课程设计的目的一、课程设计的目的操作系统是计算机系统的核心系统软件,它负责控制和管理整个系统的资源并组织用户协调使用这些资源,使计算机高效的工作。 操作系统课程设计是操作系统理论课的必要补充,是复习和检验所学课程的重要手段,本课程设计的目的是综合应用学生所学知识,通过实验环节,加深学生对操作系统基本原理和工作过程的理解,提高学生独立分析问题、解决问题的能力,增强学生的动手能力。二、课程设计的要求二、课程设计的要求1分析设

3、计内容,给出解决方案(要说明设计实现的原理,采用的数据结构)。操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 2画出程序的基本结构框图和流程图。3对程序的每一部分要有详细的设计分析说明。4源代码格式要规范。5设计合适的测试用例,对得到的运行结果要有分析。6设计中遇到的问题,设计的心得体会。7按期提交完整的程序代码、可执行程序和课程设计报告。三、课程设计题目描述三、课程设计题目描述 银行家算法是一种最有代表性的避免死锁的算法。要解释银行家算法,必须先解释操作系统安全状态和不安全状态。安全状态:如果存在一个由系统中所有进程构成的安全序列 P1,Pn,则系

4、统处于安全状态。安全状态一定是没有死锁发生。不安全状态:不存在一个安全序列。不安全状态不一定导致死锁。那么什么是安全序列呢?安全序列:一个进程序列P1,Pn是安全的,如果对于每一个进程Pi(1in) ,它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj (j “#include #include using namespace std; #define TRUE 1 /定义 TRUE =1#define FALSE 0 /定义 FLASE=0void bank(vector,vector ,vector ,int ,int ); /声明 bank(应行家算法)int safe(vect

5、or Available,vector Need,vector Allocation,int n,int m);/声明 safe()安全性算法void init();/*主函数 main()*/void main()init();int safe(vector Available,vector Need,vector Allocation,int n,int m);安全,输出安全序列 Return ture;安全算法 safe()结束操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 /*初始化函数 init()*/void init()int m; /

6、m 资源类数int n; /进程数coutm;vector Available(m); /动态申请数组 Available 可用资源向量 coutAvailablei;/*/FILE *fp;fp=fopen(“Available.txt“,“r+“);coutn;vector Max(n, vector(m);/*/* 下面的被刚掉的为在 DOS 下输入资源向量*/*未被刚掉的是从 Max.txt 文件中读入数据*/*/*for ( i=0;iMaxij;while (MaxijAvailablej)coutMaxij;/*/fp=fopen(“Max.txt“,“r+“);cout All

7、ocation(n, vector(m);vector Need(n, vector(m);/*/* 下面的被刚掉的为在 DOS 下输入资源向量*/*未被刚掉的是从 Allocation.txt 文件中读入数据*/*/*for ( i=0;iAllocationij;while(AllocationijMaxij)操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 coutAllocationij;Needij=Maxij-Allocationij;Availablej =Availablej-Allocationij;/*/fp=fopen(“Allo

8、cation.txt“,“r+“);cout Available,vector Need,vector Allocation,int n,int m);cout Available,vector Need,vector Allocation,int n,int m)vector Request(m);int all=0;/定义变量 all,如果 all=0,表示进程已经运行完,如果 all=1,表示还有进程没有运行完for (int i=0;i=1,表示还有进程没有运行完/循环直至 all0,即找到一个未运行完的进程coutjc;for (int j=0;jRequesti;while(Req

9、uestiNeedjci|RequestiAvailablei)coutagain;if(again=y|again=Y)操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 all=0;continue;break;/*安全性算法 safe()函数*/int safe(vector Available,vector Need,vector Allocation,int n,int m)vector Work(m),Finish(n);/申请工作向量 work,finishWork=Available;vector count(n); /记录安全序列int

10、 len=-1; /记录安全序列的进程个数,如果len=n,即表示所有的 finish【i】=true,处于安全状态for(int i=0;i“;coutendl;return TRUE;else操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 cout“系统是不安全的“endl; return FALSE; 运行结果:1. 初始化结果2. 检测系统资源分配是否安全结果:操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 六、课程设计的总结六、课程设计的总结操作系统的基本特征是并发与共享。系统允许多个进程并发执行

11、,并且共享系统的软、硬件资源。为了最大限度的利用计算机系统的资源,操作系统应采用动态分配的策略,但是这样就容易因资源不足,分配不当而引起“死锁” 。而我本次课程设计就是得用银行家算法来避免“死锁” 。银行家算法就是一个分配资源的过程,使分配的序列不会产生死锁。此算法的中心思想是:按该法分配资源时,每次分配后总存在着一个进程,如果让它单独运行下去,必然可以获得它所需要的全部资源,也就是说,它能结束,而它结束后可以归还这类资操作系统-银行家算法 CopyRightNigHtMaRe2009 年 12 月 30 日 源以满足其他申请者的需要。本次程序就是按照上面的思路展开的。但是因为时间上的仓促,本

12、课程设计的存在着以下不足:一、不能实现并发操作,即当总资源同时满足几个进程所需要的资源数时,这些进程不能同时进行,只能一一按进程顺序执行。二、扫描进程顺序单一,只能按进程到来的顺序(即编号)来扫描,从而产生的安全顺序只能是在这个顺序的基础上产生的,而其实安全顺序是有多个的。三、对进程数和资源数进行的数量进行了限制,都只能最多有十个。四、运行程序后,界面较差,进程数,所需要资源数,已分配资源数,能用资源数,不能一目了然。这次课程设计时间上虽说仓促点,但是我依然学到了很多的实用性知识。除了更深的了解这个算法,而且对 C 语言进行了复习,而且其过程中有很多的知识点都不记得了,所以在此感谢在此过程中帮助过我的老师和同学。最后的感悟就是:只要你亲自动手,你就能学到知识。再次感谢帮助过我的老师和同学!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号