欢迎来到天天文库
浏览记录
ID:46825714
大小:62.50 KB
页数:7页
时间:2019-11-28
《短作业优先算法试验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验短作业优先SJF进程调度算法模拟一、实验目的模拟单处理器系统的进程调度,采用短作业优先的进程调度算法作为进程设计算法,以加深对进程的概念及进程调度算法的理解.二、实验内容如进程信息如下:structPCBpcb[N]={{"AAA",0,4},{"BBB",1,3},{"CCC",2,5},{"DDD",15,2},{"EEE",4,4}};进程名到达时间运行时间完成时间周转时间A0444B1376C251614D152183E44117#include#include#include#inclu
2、de#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},{"EEE",4,4}};voidoutput(){printf("进程名到达时间运行时
3、间完成时间周转时间带权周转时间");for(inti=0;ipcb[j].arrive_t
4、ime){temp=pcb[j];pcb[j]=pcb[i];pcb[i]=temp;}}voidmain(){inti;printf("进程初始状态");output();printf("进程按到达时间排序后的状态");sortPCB();output();for(i=0;i5、nish_time=pcb[i-1].finish_time+pcb[i].run_time;elsepcb[i].finish_time=pcb[i].arrive_time+pcb[i].run_time;//下面计算本进程的周转时间pcb[i].zhouzhuan_time=pcb[i].finish_time-pcb[i].arrive_time;//下面计算本进程的带权周转时间pcb[i].daiquan_time=(float)pcb[i].zhouzhuan_time/pcb[i].run_time;}inttotal_zhouzhuan_tim6、e=0;floattotal_daiquan_time=0;for(i=0;i7、_zhouzhuan_time);printf("平均带权周转时间为:%f",pinjun_daiquan_time);}
5、nish_time=pcb[i-1].finish_time+pcb[i].run_time;elsepcb[i].finish_time=pcb[i].arrive_time+pcb[i].run_time;//下面计算本进程的周转时间pcb[i].zhouzhuan_time=pcb[i].finish_time-pcb[i].arrive_time;//下面计算本进程的带权周转时间pcb[i].daiquan_time=(float)pcb[i].zhouzhuan_time/pcb[i].run_time;}inttotal_zhouzhuan_tim
6、e=0;floattotal_daiquan_time=0;for(i=0;i7、_zhouzhuan_time);printf("平均带权周转时间为:%f",pinjun_daiquan_time);}
7、_zhouzhuan_time);printf("平均带权周转时间为:%f",pinjun_daiquan_time);}
此文档下载收益归作者所有