银行家算法模拟程序设计.doc

银行家算法模拟程序设计.doc

ID:51872111

大小:141.50 KB

页数:16页

时间:2020-03-17

银行家算法模拟程序设计.doc_第1页
银行家算法模拟程序设计.doc_第2页
银行家算法模拟程序设计.doc_第3页
银行家算法模拟程序设计.doc_第4页
银行家算法模拟程序设计.doc_第5页
资源描述:

《银行家算法模拟程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、银行家算法模拟程序设计目录一、课程设计的目的3二、课程设计的要求3三、课程设计题目描述3四、算法流程图41、银行家算法流程图42、安全性检查算法流程图5五、课程设计之银行家算法原理51.银行家算法的思路52.银行家算法53.安全性检查算法(IsSafe()函数)6六、源程序结构分析及代码实现71.程序结构72.数据结构73.函数声明84.源代码86.运行界面14七、课程设计的总结16一、课程设计的目的操作系统是计算机系统的核心系统软件,它负责控制和管理整个系统的资源并组织用户协调使用这些资源,使计算机高效的工作。《操作系统课程设计》是《操作系统》理论课的必要补充,是复习和检验所学课程的重要

2、手段,本课程设计的目的是综合应用学生所学知识,通过实验环节,加深学生对操作系统基本原理和工作过程的理解,提高学生独立分析问题、解决问题的能力,增强学生的动手能力。二、课程设计的要求1.分析设计内容,给出解决方案(要说明设计实现的原理,采用的数据结构)。2.画出程序的基本结构框图和流程图。3.对程序的每一部分要有详细的设计分析说明。4.源代码格式要规范。5.设计合适的测试用例,对得到的运行结果要有分析。6.设计中遇到的问题,设计的心得体会。7.按期提交完整的程序代码、可执行程序和课程设计报告。三、课程设计题目描述银行家算法是一种最有代表性的避免死锁的算法。  要解释银行家算法,必须先解释操作

3、系统安全状态和不安全状态。  安全状态:如果存在一个由系统中所有进程构成的安全序列P1,…,Pn,则系统处于安全状态。安全状态一定是没有死锁发生。  不安全状态:不存在一个安全序列。不安全状态不一定导致死锁。  安全序列:一个进程序列{P1,…,Pn}是安全的,如果对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj(j

4、测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。四、算法流程图错误Requesti<=Needi?1、银行家算法流程图否是进程Pi阻塞Requesti<=Available?否是试分配:Available-=RequestiAllocationi+=RequestiNeedi-=

5、Requesti试将分配作废,恢复原资源分配状态执行安全性算法,检查分配后的系统状态不安全安全正式分配2、安全性检查算法流程图Work=AvailableFinish[i]=0找一个满足下列条件的进程Finish[i]=0且Needi

6、全,则分配,否则,不分配,恢复原来状态,拒绝申请。2.银行家算法进程mi发出请求申请k个j资源,Request[mi][j]=k(1)Request[mi][j]<=need[mi][j],检查申请量是否不大于需求量,若条件不符重新输入,不允许申请大于需求量。(2)Request[mi][j]<=available[mi][j],检查申请量是否小于系统中的可利用资源数量,若条件不符就申请失败,阻塞该进程,重新申请资源。(3)若以上两个条件都满足,则系统试探着将资源分配给申请的进程,并修改下面数据结构中的数值:Available[i]-=Request[mi][i];Allocation[m

7、i][i]+=Request[mi][i];Need[mi][i]-=Request[mi][i](4)试分配后,执行安全性检查,调用IsSafe()函数检查此次资源分配后系统是否处于安全状态。若安全,才正式将资源分配给进程;否则本次试探分配作废,恢复原来的资源分配状态,让该进程等待。(5)用while循环语句实现输入字符y/n判断是否继续进行资源申请。3.安全性检查算法(IsSafe()函数)(1)设置两个向量:工作向

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。