短作业优先调度和时间片轮转调度算法.docx
《短作业优先调度和时间片轮转调度算法.docx》由会员分享,可在线阅读,更多相关《短作业优先调度和时间片轮转调度算法.docx(10页珍藏版)》请在三一办公上搜索。
1、实验报告同学姓名:学号:指导老师:一、试验室名称:二、试验项目名称:进程调度算法的设计三、试验原理:短作业(进程)优先调度算法:短作业调度算法是从后备队列中选择一个或者若干个估量运行时间最短的作业,将他们调入内存运行。而短进程优先调度算法则是从就绪队列中选出一个估量运行时间最短的进程,将处理机安排给它,使它马上执行并始终执行到完成,或者发生某大事而被堵塞放弃处理机时再重新调度。时间片轮转法:系统将全部的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU安排给队首进程,并令其执行一个时间片。当执行的时间片用完时,由一个计时器发出时钟中断恳求,调度程序便据此信号来停止该进程的执行,并将它
2、送往就绪队列的队尾;然后,再把处理机安排给就绪队列中的新的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的全部进程在一个给定的时间内均能获得一时间片的处理机执行时间。四、试验目的:通过对进程调度算法的设计,深化理解进程调度的原理五、试验内容:1 .编写程序实现SJ(P)F算法2 .编写程序实现RR算法六、试验器材(设施、元器件):装有VC+6.0的PC机一台七、试验步骤:1 .打开VC设计编写程序的源代码2 .编译运行程序的源代码3 .分析检验程序的结果是否正确4 .总结试验结果及结论短进程优先调度源代码:#include,stdio.hstructsjfcharname10J;
3、floatarrivetime;floatservicetime;floatstarttime;floatfinishtime;floatzztime;floatdqzztime;);sjfa100;voidinput(sjf*p,intN)inti;printf(,intputtheprocess,sname&arrivetime&servicetime:nforexmple:a0100n,);for(i=O;i=N-l;i+)(printf(,inputthe%dthprocesssinformation:n,i+1);scanf(H%s%f%f&pi.name,&pi.arrivetim
4、e,&pi.servicetime);)voidPrint(sjf*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,floatzztime,floatdqzztime,intN)(intk;printf(runorder:);printf(%s,pO.name);for(k=l;k%s,pk.name);)printf(ntheprocesssinfbrmationn);printf(,nnametarrivetservicetstarttfinishtzztdqzzn,);for(k=0;k=N-l;k+)p
5、rintf(,%st%-.2ft%-.2ft%-.2ft%-.2ft%-.2ft%-.2ftn,pk.name,pk.arrivetime,pk.servicetime,pk.starttime,pk.finishtime,pk.zztime,pk.dqzztime);)/排序voidsort(sjf*p,intN)for(inti=0;i=N-l;i+)for(intj=O;j=i;j+)if(pi.arrivetime=pU;jj=temp;)运行阶段voiddeal(sjf*p,floatarrivetime,floatservicetime,floatStarttime,floatfi
6、nishtime,float&zztime,float&dqzztime,intN)intk;for(k=O;k=N-l;k+)(if(k=0)(pkj.starttime=pk.arrivetime;pk.finishtime=pkj.arrivetime+pk.servicetime;)else(pkj.starttime=pk-lJ.finishtime;pk.finishtime=pk-1.finishtime+pk.servicetime;)for(k=0;k=N-l;k+)(pk.zztime=pk.finishtime-pk.arrivetime;pk.dqzztime=pk.z
7、ztimepk.servicetime;voidsjff(sjf*p,intN)floatarrivetime=O,Servicetime=O,Starttime=O,finishtime=O,zztime=0,dqzztime=OX结构进行初始化sort(p,N);for(intm=0;mN-1;m+)if(m=0)plm.finishtime=plm.arrivetime+pmj.servicetiine;elsepm.finishtime=plm-l.finishtime+pm.servicetime;inti=0;fbr(intn=m+l;n=N-l;n+)if(pn.arriveti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 优先 调度 时间 轮转 算法

链接地址:https://www.31ppt.com/p-1952834.html