网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

操作系统银行家算法

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
一,上机实验内容:
银行家算法
二,银行家算法描述如下:令RRi是进程Pi的资源请求量,如果RRi[j]=k,则进程Pi希望请求分配的j类资源k个,当进程Pi向系统提交一个资源请求向量RRi时,系统调用银行家算法。
三,熟练掌握银行家算法,并解决死锁问题。
四,源程序
# include
void main()
{ int max_need[5][3]={{3,2,2},{7,5,3},{9,0,2},{2,2,2},{4,3,3}};
int allocation[5][3]={{2,0,0},{0,1,0},{3,0,2},{2,1,1},{0,0,2}};
int i,j,k,l=0,count=0,m=0;
int still_need[5][3]={{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}};
int result[5]={-1,-1,-1,-1,-1};
int current_available[3]={3,3,2};
int tempCount=0;
printf("银行家总共拥有的各类资源的总数: \n A B C\n  10  5  7\n");
printf("银行家目前剩下的各类资源的总数: \n A B C\n   3  3  2\n");
printf("各进程对各类资源的最大需求量:   \n A B C\n");
for(i=0;i<5;i++)
{ printf("P%d: ",i);
  for(j=0;j<3;j++)
  { printf("%d",max_need[i][j]=max_need[i][j]-allocation[i][j]);
  }
  printf("\n");
}
printf("各进程已分配到的各类资源:\n A B C\n");
for(i=0;i<5;i++)
{ printf("P%d: ",i);
  for(j=0;j<3;j++)
          printf("%d",still_need[i][j]);
  printf("\n");
}
 
while(tempCount<=count&&count<5)
{ tempCount++;
  for(k=0;k<5;k++)
         if(result[k]==-1)
         { m=0;
           for(j=0;j<3;j++)
              if(still_need[k][j]<=current_available[j]&&still_need[k][j]>=0)
              { current_available[j]=current_available[j]+allocation[k][j];
              m++;
              if(m==3)
              { result[k]=1;
                m=0;
                printf("P%d->",k);
                count++;
              }
              }
              else break;
         }
}
if(count==5)
{ printf("\n 系统安全!上行所示为其中一个进程安全序列 \n");
}
else
printf("\n 找不到一个安全序列,系统不安全!\n");}
运行结果






开   始





申请资源RRi





RRi>Ni





N





RRi>A





Y





N





给进程Pi 分配资源





调用安全算法





输出符合条件的进程PID





结  束





Y





进程Pi进入等待





进入错误处理





六,流程图
  • 下一篇资讯: 操作系统进程调度
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师