开发工具:
文件大小: 91kb
下载次数: 0
上传时间: 2011-12-08
详细说明: 操作系统中银行家算法源代码 #include #include #include #define False 0 #define True 1 int Max[100][100]={0};//各进程所需各类资源的最大需求 int Avaliable[100]={0};//系统可用资源 char name[100]={0};//资源的名称 int Allocation[100][100]={0};//系统已分配资源 int Need[100][100]={0};//还需要资源 int Request[100]={0};//请求资源向量 int temp[100]={0};//存放安全序列 int Work[100]={0};//存放系统可提供资源 int M=100;//作业的最大数为100 int N=100;//资源的最大数为100 void showdata()//显示资源矩阵 { int i,j; cout<<"系统目前可用的资源[Avaliable]:"<"; } cout<>i;//输入须申请的资源号 cout<<"请输入进程 "<>Request[j];//输入需要申请的资源 } for (j=0;jNeed[i][j])//判断申请是否大于需求,若大于则出错 { cout<<"进程 "<Avaliable[j])//判断申请是否大于当前资源,若大于则 { //出错 cout<<"进程"<>n; flag=N; N=N+n; for(int i=0;i>name[flag]; cout<<"数量:"; cin>>Avaliable[flag++]; } showdata(); safe(); } void delresources(){//删除资源 char ming; int i,flag=1; cout<<"请输入需要删除的资源名称:"; do{ cin>>ming; for(i=0;i>Avaliable[0]>>Avaliable[1]>>Avaliable[2]; cout<<"经修改后的系统可用资源为"<>Max[flag][i]; Need[flag][i]=Max[flag][i]-Allocation[flag][i]; } showdata(); safe(); } int main()//主函数 { int i,j,number,choice,m,n,flag; char ming; cout<<"*****************单处理机系统进程调度实现*****************"<>n; N=n; for(i=0;i>ming; name[i]=ming; cout<<"资源的数量:"; cin>>number; Avaliable[i]=number; } cout<>m; M=m; cout<<"请输入各进程的最大需求量("<>Max[i][j]; do{ flag=0; cout<<"请输入各进程已经申请的资源量("<>Allocation[i][j]; if(Allocation[i][j]>Max[i][j]) flag=1; Need[i][j]=Max[i][j]-Allocation[i][j]; } if(flag) cout<<"申请的资源大于最大需求量,请重新输入!\n"; } while(flag); showdata();//显示各种资源 safe();//用银行家算法判定系统是否安全 while(choice) { cout<<"**************银行家算法演示***************"<>choice; switch(choice) { case 1: addresources();break; case 2: delresources();break; case 3: changeresources();break; case 4: share();break; case 5: addprocess();break; case 0: choice=0;break; default: cout<<"请正确选择功能号(0-5)!"<
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.