操作系统实验报告(6)
时间:2026-01-27
时间:2026-01-27
操作系统实验报告总编.包含操作系统安装及其接口环境,编程实现银行家安全算法,进程调度算法的实现,存储管理的模拟实现.内容详细丰富,仅供参考
if(request[i][0]<=available[0] && request[i][1]<=available[1] request[i][2]<=available[2]) //判断系统是否有足够资源提供分配
{ }
else printf("系统没有足够的资源,进程P%d需要等待。\n",i); if (j==0) //j=0表示系统有足够资源分配的情况 {
printf("系统正在为进程P%d分配资源……\n",i); change(); //分配资源 j=0;
&&
printf("当前系统资源情况如下:\n"); //输出分配资源后的系统资源分配情况 output();
if(check()==0) //若找不到安全系列,则之前的资源分配无效 {
printf("本次资源分配作废,恢复原来的资源分配状态。\n"); for (m=0;m<3;m++) //恢复分配资源前的系统资源状态 {
available[m]+=request[i][m]; allocation[i][m]-=request[i][m]; need[i][m]+=request[i][m];
}
output(); //输出系统资源状态
} }
printf("是否还有进程请求资源?\n是:输入\n否:输入\n请输入:");
scanf("%d",&j); //若还有进程请求资源,j=1,之前的for循环条件满足
} end(); }
void line() //美化程序,使程序运行时更加明朗美观 { }
printf("------------------------------------------------------------------\n");
void start() //表示银行家算法开始 {
line();
printf(" 银行家算法开始\n");
printf(" ——Designed by Zhang Hong\n"); line();
}
void end() //表示银行家算法结束