时间片轮转法实现进程调度

时间:2016-06-03 15:59:04
【文件属性】:

文件名称:时间片轮转法实现进程调度

文件大小:38KB

文件格式:DOC

更新时间:2016-06-03 15:59:04

时间片轮转

void timecycle() //时间片轮转调度 { prt(); run=ready; ready=ready->next; run->state='R'; while(run!=NULL||ready!=NULL) { run->cputime=run->cputime+M; //运行 run->needtime=run->needtime-M; AX=run->ax;BX=run->bx;CX=run->cx;DX=run->dx; if(run->needtime<=0) //进程结束 { run->next=finish; finish=run; run->state='F'; run->cputime=run->cputime+run->needtime; run->needtime=0; run=NULL; if(ready!=NULL) firstin();//调度 } else//进程时间片完毕 插回就绪队列 { run->state='W'; insert(run); firstin(); } prt(); if(run!=NULL)//添加新进程 { cout<<"输入添加进程的个数(0为继续运行):"; cin>>N; if(N>0) create(); } } }


网友评论

  • 试过了 可以用 不错