欢迎来到天天文库
浏览记录
ID:52795609
大小:62.50 KB
页数:7页
时间:2020-03-30
《短作业优先算法试验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验短作业优先SJF进程调度算法模拟一、实验目的模拟单处理器系统的进程调度,采用短作业优先的进程调度算法作为进程设计算法,以加深对进程的概念及进程调度算法的理解.二、实验内容如进程信息如下:structPCBpcb[N]={{"AAA",0,4},{"BBB",1,3},{"CCC",2,5},{"DDD",15,2},{"EEE",4,4}};进程名到达时间运行时间完成时间周转时间A0444B1376C251614D152183E44117#include#include#inc
2、lude#include#defineN5structPCB{charname[8];intarrive_time;intrun_time;intfinish_time;intzhouzhuan_time;floatdaiquan_time;};floatpinjun_zhouzhuan_time;floatpinjun_daiquan_time;structPCBpcb[N]={{"DDD",3,2},{"AAA",0,4},{"BBB",1,3},{"CCC",2,5},{"EE
3、E",4,4}};voidoutput(){printf("进程名到达时间运行时间完成时间周转时间带权周转时间");for(inti=0;i4、;i++)for(j=i+1;jpcb[j].arrive_time){temp=pcb[j];pcb[j]=pcb[i];pcb[i]=temp;}}voidmain(){inti;printf("进程初始状态");output();printf("进程按到达时间排序后的状态");sortPCB();output();for(i=0;i5、time+pcb[i].arrive_time;elseif(pcb[i].arrive_time6、计算本进程的带权周转时间pcb[i].daiquan_time=(float)pcb[i].zhouzhuan_time/pcb[i].run_time;}inttotal_zhouzhuan_time=0;floattotal_daiquan_time=0;for(i=0;i7、tal_zhouzhuan_time/N;pinjun_daiquan_time=total_daiquan_time/N;printf("计算后的结果输出");output();printf("平均周转时间为:%f",pinjun_zhouzhuan_time);printf("平均带权周转时间为:%f",pinjun_daiquan_time);}
4、;i++)for(j=i+1;jpcb[j].arrive_time){temp=pcb[j];pcb[j]=pcb[i];pcb[i]=temp;}}voidmain(){inti;printf("进程初始状态");output();printf("进程按到达时间排序后的状态");sortPCB();output();for(i=0;i5、time+pcb[i].arrive_time;elseif(pcb[i].arrive_time6、计算本进程的带权周转时间pcb[i].daiquan_time=(float)pcb[i].zhouzhuan_time/pcb[i].run_time;}inttotal_zhouzhuan_time=0;floattotal_daiquan_time=0;for(i=0;i7、tal_zhouzhuan_time/N;pinjun_daiquan_time=total_daiquan_time/N;printf("计算后的结果输出");output();printf("平均周转时间为:%f",pinjun_zhouzhuan_time);printf("平均带权周转时间为:%f",pinjun_daiquan_time);}
5、time+pcb[i].arrive_time;elseif(pcb[i].arrive_time6、计算本进程的带权周转时间pcb[i].daiquan_time=(float)pcb[i].zhouzhuan_time/pcb[i].run_time;}inttotal_zhouzhuan_time=0;floattotal_daiquan_time=0;for(i=0;i7、tal_zhouzhuan_time/N;pinjun_daiquan_time=total_daiquan_time/N;printf("计算后的结果输出");output();printf("平均周转时间为:%f",pinjun_zhouzhuan_time);printf("平均带权周转时间为:%f",pinjun_daiquan_time);}
6、计算本进程的带权周转时间pcb[i].daiquan_time=(float)pcb[i].zhouzhuan_time/pcb[i].run_time;}inttotal_zhouzhuan_time=0;floattotal_daiquan_time=0;for(i=0;i7、tal_zhouzhuan_time/N;pinjun_daiquan_time=total_daiquan_time/N;printf("计算后的结果输出");output();printf("平均周转时间为:%f",pinjun_zhouzhuan_time);printf("平均带权周转时间为:%f",pinjun_daiquan_time);}
7、tal_zhouzhuan_time/N;pinjun_daiquan_time=total_daiquan_time/N;printf("计算后的结果输出");output();printf("平均周转时间为:%f",pinjun_zhouzhuan_time);printf("平均带权周转时间为:%f",pinjun_daiquan_time);}
此文档下载收益归作者所有