欢迎来到天天文库
浏览记录
ID:59501987
大小:85.50 KB
页数:15页
时间:2020-11-03
《银行家算法及安全算法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验名称:银行家算法实验时间:2015.04.20实验目的:1:利用银行家算法避免死锁2:掌握银行家算法的基本原理3:掌握安全算法的基本原理实验仪器:PCvc6.0实验原理:1:银行家算法的基本原理2:安全算法的基本原理实验内容:请使用银行家算法来避免死锁的产生程序代码:(供参考)#include#include#include#defineFalse0#defineTrue1intMax[100][100]={0};//各进程所需各类资源的最大需求i
2、ntAvaliable[100]={0};//系统可用资源charname[100]={0};//资源的名称intAllocation[100][100]={0};//系统已分配资源intNeed[100][100]={0};//还需要资源intRequest[100]={0};//请求资源向量inttemp[100]={0};//存放安全序列intWork[100]={0};//存放系统可提供资源intM=100;//作业的最大数为100intN=100;//资源的最大数为100voidshowdata()//
3、显示资源矩阵{inti,j;cout<<"系统目前可用的资源[Avaliable]:"<4、out<5、le[j]-Request[j];Allocation[i][j]=Allocation[i][j]+Request[j];Need[i][j]=Need[i][j]-Request[j];}return1;}intsafe()//安全性算法{inti,k=0,m,apply,Finish[100]={0};intj;intflag=0;Work[0]=Avaliable[0];Work[1]=Avaliable[1];Work[2]=Avaliable[2];for(i=0;i6、or(j=0;j7、out<<"系统是安全的!"<";}cout<>i;//输入须申请的资源号cout<<"请输入进程"<8、请的资源:"<>Request[j];//输入需要申请的资源}for(j=0;jNeed[i][j])//判断申请是否大于需求,若大于则出错{cout<<"进程"<
4、out<5、le[j]-Request[j];Allocation[i][j]=Allocation[i][j]+Request[j];Need[i][j]=Need[i][j]-Request[j];}return1;}intsafe()//安全性算法{inti,k=0,m,apply,Finish[100]={0};intj;intflag=0;Work[0]=Avaliable[0];Work[1]=Avaliable[1];Work[2]=Avaliable[2];for(i=0;i6、or(j=0;j7、out<<"系统是安全的!"<";}cout<>i;//输入须申请的资源号cout<<"请输入进程"<8、请的资源:"<>Request[j];//输入需要申请的资源}for(j=0;jNeed[i][j])//判断申请是否大于需求,若大于则出错{cout<<"进程"<
5、le[j]-Request[j];Allocation[i][j]=Allocation[i][j]+Request[j];Need[i][j]=Need[i][j]-Request[j];}return1;}intsafe()//安全性算法{inti,k=0,m,apply,Finish[100]={0};intj;intflag=0;Work[0]=Avaliable[0];Work[1]=Avaliable[1];Work[2]=Avaliable[2];for(i=0;i6、or(j=0;j7、out<<"系统是安全的!"<";}cout<>i;//输入须申请的资源号cout<<"请输入进程"<8、请的资源:"<>Request[j];//输入需要申请的资源}for(j=0;jNeed[i][j])//判断申请是否大于需求,若大于则出错{cout<<"进程"<
6、or(j=0;j7、out<<"系统是安全的!"<";}cout<>i;//输入须申请的资源号cout<<"请输入进程"<8、请的资源:"<>Request[j];//输入需要申请的资源}for(j=0;jNeed[i][j])//判断申请是否大于需求,若大于则出错{cout<<"进程"<
7、out<<"系统是安全的!"<";}cout<>i;//输入须申请的资源号cout<<"请输入进程"<8、请的资源:"<>Request[j];//输入需要申请的资源}for(j=0;jNeed[i][j])//判断申请是否大于需求,若大于则出错{cout<<"进程"<
8、请的资源:"<>Request[j];//输入需要申请的资源}for(j=0;jNeed[i][j])//判断申请是否大于需求,若大于则出错{cout<<"进程"<
此文档下载收益归作者所有