欢迎来到天天文库
浏览记录
ID:56048881
大小:16.00 KB
页数:3页
时间:2020-06-19
《多级反馈队列调度算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#include#defineNULL0#defineMAL(type)(type*)malloc(sizeof(type))usingnamespacestd;typedefstructLNode{charname[5];charstate;intruntime;intneedtime;structLNode*next;}LNode;LNode*H;intT,D,J;voidprint(){LNode*p=H;printf("进程名需执行时间已执行时间状态");
2、for(inti=0;iname,p->needtime,p->runtime,p->state);p=p->next;}system("PAUSE");}voidinput(){inti;printf("请输入进程数:");scanf("%d",&J);for(i=0;iname);printf("请输入第%d个进程需要的执行时间:",
3、i+1);scanf("%d",&q->needtime);if(q->needtime<=0){printf("所需时间要大于0请重新输入——");i--;}else{q->runtime=0;q->state='N';q->next=NULL;}if(i==0)H=p=q;else{p->next=q;p=q;}}printf("进程初始化态为:");print();}voidrun(){inti,time=0,l=1;printf("请输入队列个数:");scanf("%d",&D);printf("请输入第一个队列的时间片长度:");s
4、canf("%d",&T);for(i=0;i<=J;i++){intk=1;LNode*p,*q;if(istate=='Y'){p=p->next;continue;}p->runtime=p->runtime+time;if(p->needtime<=p->runtime){if(p->needtime==p->runtime){p->state='Y';printf("进程%s已运行完毕!",p->name);}else{p->runtime=p-
5、>needtime;p->state='Y';}}p=p->next;}for(q=H;q!=NULL;q=q->next){if(q->state=='N'){k=0;break;}}if(k==1)break;elseprint();}}intmain(){input();run();print();printf("所有进程执行完成!");system("PAUSE");return0;}
此文档下载收益归作者所有