欢迎来到天天文库
浏览记录
ID:41091839
大小:30.00 KB
页数:4页
时间:2019-08-16
《操作系统-银行家算法实验C语言》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include"stdio.h"#include"stdlib.h"#include"string.h"intn,m;structinfo{intclaim[50];intallocation[50];intneed[50];}pro[50];intavailable[50];intrequest[50];voidinit(){inti,j;printf("请输入资源种类数:");scanf("%d",&n);for(i=0;i2、anf("%d",&available[i]);}printf("请输入进程数:");scanf("%d",&m);printf("请输入各进程对各资源的最大需求数:");for(i=0;i3、safe(){intwork[101];intfinish[101];intxulie[101];inti,j,k,w=0;intflag=1,t=0;for(i=0;i=pro[j].need[k])flag=1;elsefl4、ag=0;}if(flag==1){for(k=0;k"5、,xulie[i]);printf("%d",xulie[m-1]);return1;}}voidallo(){inti,j;printf("请输入申请资源的进程号:");scanf("%d",&i);printf("请输入请求资源数量:");for(j=0;jpro[i].need[j]){printf("进程%d申请的资源数大于它所需要的%d类资源数,请重新输入."6、,i,j);j=j-1;continue;}elseif(request[j]>available[j]){printf("进程%d申请的资源数大于剩余的%d类资源数,请重新输入.",i,j);j=j-1;continue;}}for(j=0;j7、st[j];}if(safe()==1)printf("请求分配成功!");else{printf("请求分配被拒绝!");for(j=0;j8、;选择0--退出");scanf("%d",&i);if(i==1)allo();}while(i==1);}
2、anf("%d",&available[i]);}printf("请输入进程数:");scanf("%d",&m);printf("请输入各进程对各资源的最大需求数:");for(i=0;i3、safe(){intwork[101];intfinish[101];intxulie[101];inti,j,k,w=0;intflag=1,t=0;for(i=0;i=pro[j].need[k])flag=1;elsefl4、ag=0;}if(flag==1){for(k=0;k"5、,xulie[i]);printf("%d",xulie[m-1]);return1;}}voidallo(){inti,j;printf("请输入申请资源的进程号:");scanf("%d",&i);printf("请输入请求资源数量:");for(j=0;jpro[i].need[j]){printf("进程%d申请的资源数大于它所需要的%d类资源数,请重新输入."6、,i,j);j=j-1;continue;}elseif(request[j]>available[j]){printf("进程%d申请的资源数大于剩余的%d类资源数,请重新输入.",i,j);j=j-1;continue;}}for(j=0;j7、st[j];}if(safe()==1)printf("请求分配成功!");else{printf("请求分配被拒绝!");for(j=0;j8、;选择0--退出");scanf("%d",&i);if(i==1)allo();}while(i==1);}
3、safe(){intwork[101];intfinish[101];intxulie[101];inti,j,k,w=0;intflag=1,t=0;for(i=0;i=pro[j].need[k])flag=1;elsefl
4、ag=0;}if(flag==1){for(k=0;k"
5、,xulie[i]);printf("%d",xulie[m-1]);return1;}}voidallo(){inti,j;printf("请输入申请资源的进程号:");scanf("%d",&i);printf("请输入请求资源数量:");for(j=0;jpro[i].need[j]){printf("进程%d申请的资源数大于它所需要的%d类资源数,请重新输入."
6、,i,j);j=j-1;continue;}elseif(request[j]>available[j]){printf("进程%d申请的资源数大于剩余的%d类资源数,请重新输入.",i,j);j=j-1;continue;}}for(j=0;j7、st[j];}if(safe()==1)printf("请求分配成功!");else{printf("请求分配被拒绝!");for(j=0;j8、;选择0--退出");scanf("%d",&i);if(i==1)allo();}while(i==1);}
7、st[j];}if(safe()==1)printf("请求分配成功!");else{printf("请求分配被拒绝!");for(j=0;j8、;选择0--退出");scanf("%d",&i);if(i==1)allo();}while(i==1);}
8、;选择0--退出");scanf("%d",&i);if(i==1)allo();}while(i==1);}
此文档下载收益归作者所有