银行家算法c++语言(流程图代码全)(1)

银行家算法c++语言(流程图代码全)(1)

ID:19243118

大小:298.94 KB

页数:12页

时间:2018-09-30

银行家算法c++语言(流程图代码全)(1)_第1页
银行家算法c++语言(流程图代码全)(1)_第2页
银行家算法c++语言(流程图代码全)(1)_第3页
银行家算法c++语言(流程图代码全)(1)_第4页
银行家算法c++语言(流程图代码全)(1)_第5页
资源描述:

《银行家算法c++语言(流程图代码全)(1)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、操作系统教程——银行家算法院系计算机与软件学院班级08软件工程2班学号20081344066姓名何丽茗一、实验目的银行家算法是避免死锁的一种重要方法。通过编写一个模拟动态资源分配的银行家算法程序,进一步深入理解死锁、产生死锁的必要条件、安全状态等重要概念,并掌握避免死锁的具体实施方法。二、实验内容根据银行家算法的基本思想,编写和调试一个实现动态资源分配的模拟程序,并能够有效地防止和避免死锁的发生。三、实验方法开始输入资源数m,及各类资源总数,初始化Available向量输入进程数n,i=1输入进程i的最大需求向量max。i≤nmax≤资源总数提示错误重新输入i加1任选一个

2、进程作为当前进程输入该进程的资源请求量Request调用银行家算法,及安全性算法,完成分配,或并给出提示Need向量为0该进程已运行结束Need矩阵为0所有进程运行都结束结束NYYNNY初始化need矩阵NY1.算法流程图1.算法数据结构1)可利用资源向量Available,它是一个最多含有100个元素的数组,其中的每一个元素代表一类可利用的资源的数目,其初始值是系统中所配置的该类全部可用资源数目。其数值随该类资源的分配和回收而动态地改变。如果Available(j)=k,标是系统中现有j类资源k个。2)最大需求矩阵Max,这是一个n×m的矩阵,它定义了系统中n个进程中的

3、每一个进程对m类资源的最大需求。如果Max(i,j)=k,表示进程i需要j类资源的最大数目为k。3)分配矩阵Allocation,这也是一个n×m的矩阵,它定义了系统中的每类资源当前一分配到每一个进程的资源数。如果Allocation(i,j)=k,表示进程i当前已经分到j类资源的数目为k。Allocationi表示进程i的分配向量,有矩阵Allocation的第i行构成。4)需求矩阵Need,这还是一个n×m的矩阵,用以表示每个进程还需要的各类资源的数目。如果Need(i,j)=k,表示进程i还需要j类资源k个,才能完成其任务。Needi表示进程i的需求向量,由矩阵Ne

4、ed的第i行构成。5)上述三个矩阵间存在关系:Need(i,j)=Max(i,j)-Allocation(i,j);2.银行家算法设Request[i]是进程i的请求向量,如果Request[i,j]=K,表示进程i需要K个j类型的资源。当i发出资源请求后,系统按下述步骤进行检查:1)如果Requesti≤Need,则转向步骤2;否则,认为出错,因为它所请求的资源数已超过它当前的最大需求量。2)如果Requesti≤Available,则转向步骤3;否则,表示系统中尚无足够的资源满足i的申请,i必须等待。3)系统试探性地把资源分配给进程i,并修改下面数据结构中的数值:Av

5、ailable=Available-RequestiAllocationi=Allocationi+RequestiNeedi=Needi-Requesti4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。如果安全才正式将资源分配给进程i,以完成本次分配;否则,将试探分配作废,恢复原来的资源分配状态,让进程i等待。四、实验代码以及运行示例1.源代码:#include#include#include#defineFalse0#defineTrue1usingnamespacestd;intMax[10

6、0][100]={0};//各进程所需各类资源的最大需求intAvaliable[100]={0};//系统可用资源charname[100]={0};//资源的名称intAllocation[100][100]={0};//系统已分配资源intNeed[100][100]={0};//还需要资源intRequest[100]={0};//请求资源向量inttemp[100]={0};//存放安全序列intWork[100]={0};//存放系统可提供资源intM=100;//进程的最大数为intN=100;//资源的最大数为voidshowdata()//显示资源矩阵{

7、inti,j;cout<<"系统目前可用的资源[Avaliable]:"<

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

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

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