";Р}Р cout<>i;/" /> ";Р}Р cout<>i;/" />

全文预览

华工春操作系统大作业银行家死锁避免算法模拟(含源文件)

上传者:幸福人生 |  格式:doc  |  页数:42 |  大小:1308KB

文档介绍
0;i<M;i++){//输出运行进程数组Р cout<<temp[i];Р if(i<M-1) cout<<"->";Р}Р cout<<endl;Р return 0;Р}Рvoid share()//利用银行家算法对申请资源对进行判定Р{Рchar ch;Рint i=0,j=0;Рch='y';Рcout<<"请输入要求分配的资源进程号(0-"<<M-1<<"):"; Р cin>>i;//输入须申请的资源号Рcout<<"请输入进程"<<i<<" 申请的资源:"<<endl;Рfor(j=0;j<N;j++)Р{Р cout<<name[j]<<":";Р cin>>Request[j];//输入需要申请的资源Р}Р for (j=0;j<N;j++){Р if(Request[j]>Need[i][j])//判断申请是否大于需求,若大于则出错Р { Р cout<<"进程"<<i<<"申请的资源大于它需要的资源";Р cout<<" 分配不合理,不予分配!"<<endl;Р ch='n';Р break;Р}Р else {Р if(Request[j]>Avaliable[j])//判断申请是否大于当前资源,若大于则Р { //出错Р cout<<"进程"<<i<<"申请的资源大于系统现在可利用的资源";Р cout<<" 分配出错,不予分配!"<<endl;Р ch='n';Р break;Р }Р }Р }Р if(ch=='y') {Р changdata(i);//根据进程需求量变换资源Р showdata();//根据进程需求量显示变换后的资源Р safe();//根据进程需求量进行银行家算法判断Р }Р}Рvoid addresources(){//添加资源Р int n,flag;Рcout<<"请输入需要添加资源种类的数量:";Рcin>>n;

收藏

分享

举报
下载此文档