操作系统试验报告(2)

2019-03-04 12:16

cin>>p1.name;

cin>>p1.needtime; Queue[0].LinkPCB[i]=p1; } }

void Insert(PCB p1)//创建第二个就绪队列 {PCB *head;

Queue[1].LinkPCB[m]=p1;m++; }

void Insert2(PCB p1)//创建第三个就绪队列 { PCB *p2;

Queue[2].LinkPCB[b]=p1;b++; }

void MultiDispatch(int q) {int i=0,j;int flag=1;

PCB p1; int u=0;int u1=0;int u2=0; p1=Queue[0].LinkPCB[i];

for(i=0;i

if(((p1.needtime-Queue[0].round)<=0)) {p1.state='F';p1.count++;print(p1);

} else

{p1.needtime=p1.needtime-Queue[0].round;Insert(p1) ; } } p1=Queue[1].LinkPCB[0]; for(i=0;i

{ p1=Queue[1].LinkPCB[u1]; u1++;

if(((p1.needtime-Queue[1].round)<=0))

{p1.state='F';p1.count=p1.count+2;print(p1); } else

{p1=Queue[1].LinkPCB[u1-1];p1.needtime=p1.needtime-Queue[1].round;Insert2(p1) ; }

} p1=Queue[2].LinkPCB[0]; for(i=0;i

{ p1=Queue[2].LinkPCB[u2]; u2++;

if(((p1.needtime-Queue[2].round)<=0))

{p1.state='F';p1.count=p1.count+3;print(p1); }

else {p1.state='w';p1.count=0;print(p1); }

} }

void print(PCB p1) {int n=0;

if(printn==0) {printhead[printn]=p1;printn++;}

else {printhead[printn]=p1;printn++;} }

void Output() { int n=0;

cout<<\进程名\ \进程状态\ \进程轮转次数\ \ while(n

cout<

\ \ n++;

} } int main()

{ printf(\固定三个就绪队列,5个进程数\\n\

int i; InsertPrio(); InsertFinish(m); MultiDispatch(m); Output();

system(\ return EXIT_SUCCESS; }三、调试与运行:

四、总结:(四号黑体)

1、本程序的优点和不足之处(四号仿宋,单倍行距)

操作简单直观明了,但没有完全模拟出算法,如果进程所需时间过大,不能显示出完成的。仍然处于等待状态。固定了就绪队列的个

数和进程的个数。只是简单的模拟了多级反馈算法思路。 2、心得体会(四号仿宋,单倍行距) 对多级反馈队列调度算法更熟悉了一些


操作系统试验报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:超大规模集成电路第七次作业2016秋,段成华

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

马上注册会员

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