模拟处理机调度C++代码(附输出图示).doc
《模拟处理机调度C++代码(附输出图示).doc》由会员分享,可在线阅读,更多相关《模拟处理机调度C++代码(附输出图示).doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date模拟处理机调度C+代码(附输出图示)模拟处理机调度C+代码(附输出图示)#include#includeusing namespace std;static const int Max=100;int ArrivalTimeMax;/到达时间int ServiceTimeMax;/服务时间int FinishTimeMax;/完成时间int WholeTimeMax;
2、/周转时间double WeightWholeTimeMax;/帯权周庄时间double AverageWT_FCFS,AverageWT_SJF; /平均周转时间double AverageWWT_FCFS,AverageWWT_SJF;/平均帯权周转时间int ServiceTime_SJFMax;/在SJF算法中使用到int Num=0;int NowTime=0;/记录当前时间double SumWT=0,SumWWT=0;/SumWT用来计算总的周转时间,SumWWT用来计算总的帯权周转时间int i;int choice;/记录选择/*/ 先到先服务算法/*void FCFS()/
3、找最早到达的。coutendl先到先服务算法(FCFS)endlendl;for(i=0;iNowTime)/假如进程到达的时间比现在已经运行的时间NowTime大,说明在NowTime时刻进程未到达NowTime=ArrivalTimei;/把进程的到达时间赋给NowTimeNowTime+=ServiceTimei;/把进程的服务时间加到NowTime上FinishTimei=NowTime;/计算完成时间WholeTimei=FinishTimei-ArrivalTimei;/计算周转时间=完成时间-到达时间WeightWholeTimei=(double)WholeTimei/Serv
4、iceTimei;/计算带权周转时间=周转时间/服务时间SumWT+=WholeTimei;/计算总的周转时间SumWWT+=WeightWholeTimei;/计算总的帯权周转时间AverageWT_FCFS=SumWT/Num;/平均周转时间AverageWWT_FCFS=SumWWT/Num;/平均帯权周转时间for(i=0;iNum;i+)/依次输出结果cout时刻FinishTimei-ServiceTimei: 进程i+1开始运行 其完成时间:FinishTimei 周转时间:WholeTimeisetprecision(3) 帯权周转时间:WeightWholeTimeisetp
5、recision(3)endl;cout平均周转时间:AverageWT_FCFSendl;cout平均帯权周转时间:AverageWWT_FCFSendl;/*/ 短进程优先算法/*void SJF()/找已经到达的且服务时间最短的进程(假定输入的进程是按照到达时间先后输入的)coutendl短进程优先算法(SJF)endl;int min=0;NowTime=ArrivalTime0+ServiceTime0;/计算第一次的NowTImeFinishTime0=NowTime;/计算第一个进程的完成时间ServiceTime_SJF0=1000;/赋初值。cout时刻FinishTime0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 处理机 调度 C+ 代码 输出 图示
限制150内