os实验指导书(4)

2019-06-05 12:04

}

void cputime() {int i; int m,h; for(i=0;i

window(lie+2*i-h,15+m,lie+2*i+2-h,15+m); switch(b[i])

{case 0: {textbackground(2);

clrscr(); cprintf(\break;

}

case 1: {textbackground(2);

clrscr(); cprintf(\break;

}

case 2: {textbackground(4);

clrscr(); cprintf(\break;

}

case 3: {textbackground(4);

clrscr(); cprintf(\break;

} } } }

main() { int i; time_t t;

srand((unsigned) time(&t)); hour=3; mini=0;

for(i=0;i

k=rand()%(count+1); p=k;

for(i=0;i

{window(1,1,80,25); textbackground(1); clrscr();

textcolor(YELLOW); clrscr();

printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ if(hour==0&&mini==0) {window(1,1,80,25); textbackground(1); clrscr();

cprintf(\ getch(); return; }

Press any key to exit!\ tim(); s=rand()%4; b[r]=s; r++; switch(s) {

case 0:{p1_ok=1;

sheng(pover1,ptim1,pttim1,0); if(p2_ok==1) {if(ptim2==pttim2) pdone=1;

pshow(ptim2,pttim2,1);

}

if(v1_ok==1)

vshow(vtim1,vttim1,2); if(v2_ok==1)

vshow(vtim2,vttim2,3); break; }

case 1:{if(p1_ok==1)

{if(ptim1==pttim1) pdone=1;

pshow(ptim1,pttim1,0); } p2_ok=1;

sheng(pover2,ptim2,pttim2,1); if(v1_ok==1)

vshow(vtim1,vttim1,2); if(v2_ok==1)

vshow(vtim2,vttim2,3); break; }

case 2:{if(p1_ok==1)

{if(ptim1==pttim1)

pdone=1;

pshow(ptim1,pttim1,0); } if(p2_ok==1) {if(ptim2==pttim2) pdone=1;

pshow(ptim2,pttim2,1); } v1_ok=1;

xiao(vover1,vtim1,vttim1,2); if(v2_ok==1)

vshow(vtim2,vttim2,3); break; }

case 3:{if(p1_ok==1) {if(ptim1==pttim1) pdone=1;

pshow(ptim1,pttim1,0); }

if(p2_ok==1) {if(ptim2==pttim2) pdone=1;

pshow(ptim2,pttim2,1); }

if(v1_ok==1)

vshow(vtim1,vttim1,2); v2_ok=1;

xiao(vover2,vtim2,vttim2,3); break; } } memshow(); cputime(); sleep(1); } }

实验三 Banker algorithm(银行家算法)

一、实验名称

Banker algorithm(银行家算法) 二、实验目的

在了解和掌握银行家算法的基础上,能熟练的处理课本例题中所给状态的安全性问题,能编制银行家算法通用程序,将调试结果显示在计算机屏幕上,再检测和笔算的一致性。 三、实验内容

设计五个进程{P0,P1,P2,P3,P4}共享三类资源{A,B,C}的系统,{A,B,C}的资源数量分别为10,5,7。

进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。要求程序具有显示和打印各进程的某一时刻的资源分配表和安全序列;显示和打印各进程依次要求申请的资源号以及为某进程分配资源后的有关资源数据。 四、实验要求:

本实验要求用高级语言编写和调试一个简单的银行家算法程序。用银行家算法实现资源分配。 五、实验学时及环境

4学时,Turbo C、Visual C++、Visual Basic、Delphi均可。 六、实验思路:

设requesti为进程p[i]的请求向量,如果requesti[j]=K,表示进程p[i]需要K个Rj资源。当系统发出请求后,系统按下述步骤开始检查:

1.如果requesti[j]<=need[i][j],转向步骤2;否则报告出错,申请的资源已经大于它需要的最大值。

2.如果requesti[j]<=available[j],转向步骤3;否则报告出错,尚无足够的资源。 3.系统试探着把资源分配给p[i],并修改下列数据结构中的值: available[j]=available[j]-request[j] allocation[i][j]=allocation[i][j]+request[j] need[i][j]=need[i][j]-request[j]

4.系统进行安全性算法,检查此次分配后,系统是否还处于安全状态,若安全,把资源分配给进程p[i];否则,恢复原来的资源分配状态,让进程p[i]等待。 安全性算法:


os实验指导书(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新部编版七年级语文上册期末复习专题资料全套带答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: