欢迎来到天天文库
浏览记录
ID:58819850
大小:22.00 KB
页数:6页
时间:2020-10-25
《C语言实现银行家算法(待补充).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#include#defineM3//资源种类m种#defineN4//进程个数nintneed[10][3];//进程还需资源矩阵intmax[10][3];//进程最大需求矩阵intallocation[10][3];//已分配资源矩阵intavailable[3];//可用资源向量intwork[3];//可用资源向量intfinish[10],finish1[10];//记录进程申请的资源是否能
2、分配intpath[10]={0,1,2,3,4,5,6,7,8,9};//记录安全序列intis_save;//是否产生安全序列intmark[10];//记录某进程是否已分配资源voiddisplay(int*a,intn)//显示一维数组{inti;for(i=0;i3、intf("p%dt",i);//--分别显示P0,P1,P2的Max,Need,Allocation,Avalibledisplay(max[i],M);printf("t");display(need[i],M);printf("t");display(allocation[i],M);printf("t");if(i==0)display(available,M);printf("");}}voidinit(){inti,j;srand(time(NULL));for(i=0;i4、0;j5、法3.退出*");puts("*******************************************************");}intsafe()//检查安全序列{inti,j,k=1;//k用来结束安全序列的查找intflag=1;//flag=0表示当前可用资源<进程申请资源数intr=0,r1=0;//记录所需资源能被满足的进程数;for(j=0;j6、i=4){printf("-----找到安全序列-----");for(i=0;i",path[i]);elseprintf("p%d",path[i]);}return1;}else{printf("进行安全性检查后.....");printf("当前状态不安全!7、n");return0;}}voidprint_sav_seq(){inti,j;printf("安全序列如下:");for(j=0;j":"");printf("p%d",path[j]);}puts("");puts("*****************************************************************");puts("*WorkNeedAllocationWork+AllocationFinish*");puts("*ABCABC8、ABCABC*");for(j=0;j
3、intf("p%dt",i);//--分别显示P0,P1,P2的Max,Need,Allocation,Avalibledisplay(max[i],M);printf("t");display(need[i],M);printf("t");display(allocation[i],M);printf("t");if(i==0)display(available,M);printf("");}}voidinit(){inti,j;srand(time(NULL));for(i=0;i4、0;j5、法3.退出*");puts("*******************************************************");}intsafe()//检查安全序列{inti,j,k=1;//k用来结束安全序列的查找intflag=1;//flag=0表示当前可用资源<进程申请资源数intr=0,r1=0;//记录所需资源能被满足的进程数;for(j=0;j6、i=4){printf("-----找到安全序列-----");for(i=0;i",path[i]);elseprintf("p%d",path[i]);}return1;}else{printf("进行安全性检查后.....");printf("当前状态不安全!7、n");return0;}}voidprint_sav_seq(){inti,j;printf("安全序列如下:");for(j=0;j":"");printf("p%d",path[j]);}puts("");puts("*****************************************************************");puts("*WorkNeedAllocationWork+AllocationFinish*");puts("*ABCABC8、ABCABC*");for(j=0;j
4、0;j5、法3.退出*");puts("*******************************************************");}intsafe()//检查安全序列{inti,j,k=1;//k用来结束安全序列的查找intflag=1;//flag=0表示当前可用资源<进程申请资源数intr=0,r1=0;//记录所需资源能被满足的进程数;for(j=0;j6、i=4){printf("-----找到安全序列-----");for(i=0;i",path[i]);elseprintf("p%d",path[i]);}return1;}else{printf("进行安全性检查后.....");printf("当前状态不安全!7、n");return0;}}voidprint_sav_seq(){inti,j;printf("安全序列如下:");for(j=0;j":"");printf("p%d",path[j]);}puts("");puts("*****************************************************************");puts("*WorkNeedAllocationWork+AllocationFinish*");puts("*ABCABC8、ABCABC*");for(j=0;j
5、法3.退出*");puts("*******************************************************");}intsafe()//检查安全序列{inti,j,k=1;//k用来结束安全序列的查找intflag=1;//flag=0表示当前可用资源<进程申请资源数intr=0,r1=0;//记录所需资源能被满足的进程数;for(j=0;j6、i=4){printf("-----找到安全序列-----");for(i=0;i",path[i]);elseprintf("p%d",path[i]);}return1;}else{printf("进行安全性检查后.....");printf("当前状态不安全!7、n");return0;}}voidprint_sav_seq(){inti,j;printf("安全序列如下:");for(j=0;j":"");printf("p%d",path[j]);}puts("");puts("*****************************************************************");puts("*WorkNeedAllocationWork+AllocationFinish*");puts("*ABCABC8、ABCABC*");for(j=0;j
6、i=4){printf("-----找到安全序列-----");for(i=0;i",path[i]);elseprintf("p%d",path[i]);}return1;}else{printf("进行安全性检查后.....");printf("当前状态不安全!
7、n");return0;}}voidprint_sav_seq(){inti,j;printf("安全序列如下:");for(j=0;j":"");printf("p%d",path[j]);}puts("");puts("*****************************************************************");puts("*WorkNeedAllocationWork+AllocationFinish*");puts("*ABCABC
8、ABCABC*");for(j=0;j
此文档下载收益归作者所有