银行家算法代码.doc

银行家算法代码.doc

ID:48015518

大小:17.43 KB

页数:6页

时间:2020-01-18

银行家算法代码.doc_第1页
银行家算法代码.doc_第2页
银行家算法代码.doc_第3页
银行家算法代码.doc_第4页
银行家算法代码.doc_第5页
资源描述:

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

1、#includeusingnamespacestd;#defineMAXPROCESS50/*最大进程数*/#defineMAXRESOURCE100/*最大资源数*/intAVAILABLE[MAXRESOURCE];/*可用资源数组*/intMAX[MAXPROCESS][MAXRESOURCE];/*最大需求矩阵*/intALLOCATION[MAXPROCESS][MAXRESOURCE];/*分配矩阵*/intNEED[MAXPROCESS][MAXRESOURCE];/*需求矩阵*/intREQUEST[MAXPROCESS][MAXRESOUR

2、CE];/*进程需要资源数*/boolFINISH[MAXPROCESS];/*系统是否有足够的资源分配*/intp[MAXPROCESS];/*记录序列*/intm,n;/*m个进程,n个资源*/voidInit();boolSafe();voidBank();voidshowdata(int,int);intmain(){Init();Safe();Bank();}voidInit()/*初始化算法*/{inti,j;cout<<"请输入进程的数目:";cin>>m;cout<<"请输入资源的种类:";cin>>n;cout<<"请输入每个进程最多所需的各资源数,按照"<<

3、m<<"x"<>MAX[i][j];cout<<"请输入每个进程已分配的各资源数,也按照"<>ALLOCATION[i][j];NEED[i][j]=MAX[i][j]-ALLOCATION[i][j];if(NEED[i][j]<0){cout<<"您输入的第"<

4、l;j--;continue;}}}cout<<"请输入各个资源现有的数目:"<>AVAILABLE[i];}}voidBank()/*银行家算法*/{inti,cusneed,flag=0;charagain;while(1){showdata(n,m);////////////////////////////////////////////////////////////////////cout<>cu

5、sneed;if(cusneed>m){cout<<"没有该进程,请重新输入"<>REQUEST[cusneed][i];}for(i=0;iNEED[cusneed][i])//如果用户选择的线程的第i个资源请求数>该线程该资源所需的数量{cout<<"您输入的请求数超过进程的需求量!请重新输入!"<A

6、VAILABLE[i])//如果用户选择的线程的第i个资源请求数>系统现有的第i个资源的数量{cout<<"您输入的请求数超过系统有的资源数!请重新输入!"<

7、}if(Safe())//AVAILABLEALLOCATIONNEED变动之后,是否会导致不安全{cout<<"同意分配请求!"<

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

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

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