全文预览

时间片轮转调度算法代码

上传者:相惜 |  格式:doc  |  页数:7 |  大小:0KB

文档介绍
长时间:"); int tt; scanf("%d",&tt); ncase=0; while(ncase<tt && !q.empty()) { ncase++; t++; PCB1 cur1=q.top(); q.pop(); cur1.p++; cur1.level+=3; if(cur1.p==cur1.time) { PCB2 cur2; cur1.endtime=t; cur2.endtime=t; strcpy(cur2.name,cur1.name); q2.push(cur2); } else { q.push(cur1); } }// 也是单步的模拟, 不过中间不输出就绪队列和完成队列 if(q.empty())// 如果队列为空{ printf("\n\n\n"); printf(" 所有进程均已完成:\n"); CompleteQueue(); printf("\n"); break; } else { printf("\n The execute time %d:\n",t); CompleteQueue(); printf("\n"); ReadyQueue(); }} else if(Select==3) { PCB1 cur; printf("\n 输入进程名:"); scanf("%s",cur.name); printf("\n 输入进程优先级:"); scanf("%d",&cur.level); printf("\n 输入进程运行时间:"); scanf("%d",&cur.time); cur.p=0; q.push(cur);// 把新进程加入到就绪队列里 printf("\n 选择 1 or2 or 3......\n"); } else { printf("\n 输入错误, 请重新输入!\n"); }} return 0; }

收藏

分享

举报
下载此文档