logo资料库

银行家算法报告.docx

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
银行家算法 学院: 班级: 组号: 组员:
1.源代码店面调度,换算,计算机存储 #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<
} cout<<"系统是安全的!"<"; } cout<>i;//输入须申请的资源号 cout<<"请输入进程 "<>Request[j];//输入需要申请的资源 { } } for (j=0;jNeed[i][j])//判断申请是否大于需求,若大于则出错 cout<<"进程 "<Avaliable[j])//判断申请是否大于当前资源,若 大于则 { cout<<"进程"<
showdata();//根据进程需求量显示变换后的资源 safe();//根据进程需求量进行银行家算法判断 } } void addresources(){//添加资源 int n,flag; cout<<"请输入需要添加资源种类的数量:"; cin>>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
void changeresources(){//修改资源函数 cout<<"系统目前可用的资源[Avaliable]:"<>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<
cout<<"请输入作业的数量:"; cin>>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) { 1:增加资源 2:删除资源 3:修改资源 4:分配资源 5:增加作业 0:离开 cout<<"**************银行家算法演示***************"<>choice; switch(choice) { "<
case 0: choice=0;break; default: cout<<"请正确选择功能号(0-5)!"<
分享到:
收藏