欢迎来到天天文库
浏览记录
ID:30817761
大小:206.50 KB
页数:10页
时间:2019-01-03
《先来先服务fcfs和短作业优先sjf进程调度算法_实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案先来先服务FCFS和短作业优先SJF进程调度算法1、实验目的通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。2、需求分析(1)输入的形式和输入值的范围输入值:进程个数Num范围:02、um-1)个)平均周转时间:X平均带权周转时间:X(3)程序所能达到的功能输入进程个数Num,每个进程到达时间ArrivalTime[i],服务时间ServiceTime[i]。采用先来先服务FCFS或者短作业优先SJF进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计Num个进程的平均周转时间和平均带权周转时间。3、概要设计精彩文档实用标准文案说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。4、详细设计5、调试分析(1)调3、试过程中遇到的问题以及解决方法,设计与实现的回顾讨论和分析开始的时候没有判断进程是否到达,导致短进程优先算法运行结果错误,后来加上了判断语句后就解决了改问题。基本完成的设计所要实现的功能,总的来说,FCFS编写容易,SJF需要先找到已经到达的进程,再从已经到达的进程里找到进程服务时间最短的进程,再进行计算。(2)算法的改进设想改进:即使用户输入的进程到达时间没有先后顺序也能准确的计算出结果。(就是再加个循环,判断各个进程的到达时间先后,组成一个有序的序列)(3)经验和体会通过本次实验,深入理解了4、先来先服务和短进程优先进程调度算法的思想,培养了自己的动手能力,通过实践加深了记忆。6、用户使用说明(1)输入进程个数Num精彩文档实用标准文案(2)依次输入Num个进程的到达时间(3)依次输入Num个进程的服务时间(4)选择要使用的算法7、测试结果正确一(FCFS):正确一(SJF):精彩文档实用标准文案正确二(FCFS):精彩文档实用标准文案正确二(SJF):错误(进程个数错误):错误(选择算法错误):精彩文档实用标准文案8、附录//*****************************5、**************************************//**进程调度算法BY:09软件工程二班李群**//*******************************************************************#include#includeusingnamespacestd;staticconstintMax=100;intArrivalTime[Max];//到达时间intServiceTime[Ma6、x];//服务时间intFinishTime[Max];//完成时间intWholeTime[Max];//周转时间doubleWeightWholeTime[Max];//帯权周庄时间doubleAverageWT_FCFS,AverageWT_SJF;//平均周转时间doubleAverageWWT_FCFS,AverageWWT_SJF;//平均帯权周转时间intServiceTime_SJF[Max];//在SJF算法中使用到intNum=0;intNowTime=0;//记录当前时间d7、oubleSumWT=0,SumWWT=0;//SumWT用来计算总的周转时间,SumWWT用来计算总的帯权周转时间inti;intchoice;//记录选择//******************************************************************//先到先服务算法//******************************************************************精彩文档实用标准文案voidFCFS()//找最早到8、达的。{cout<<"--------------------------------------------------------------"<
2、um-1)个)平均周转时间:X平均带权周转时间:X(3)程序所能达到的功能输入进程个数Num,每个进程到达时间ArrivalTime[i],服务时间ServiceTime[i]。采用先来先服务FCFS或者短作业优先SJF进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计Num个进程的平均周转时间和平均带权周转时间。3、概要设计精彩文档实用标准文案说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。4、详细设计5、调试分析(1)调
3、试过程中遇到的问题以及解决方法,设计与实现的回顾讨论和分析开始的时候没有判断进程是否到达,导致短进程优先算法运行结果错误,后来加上了判断语句后就解决了改问题。基本完成的设计所要实现的功能,总的来说,FCFS编写容易,SJF需要先找到已经到达的进程,再从已经到达的进程里找到进程服务时间最短的进程,再进行计算。(2)算法的改进设想改进:即使用户输入的进程到达时间没有先后顺序也能准确的计算出结果。(就是再加个循环,判断各个进程的到达时间先后,组成一个有序的序列)(3)经验和体会通过本次实验,深入理解了
4、先来先服务和短进程优先进程调度算法的思想,培养了自己的动手能力,通过实践加深了记忆。6、用户使用说明(1)输入进程个数Num精彩文档实用标准文案(2)依次输入Num个进程的到达时间(3)依次输入Num个进程的服务时间(4)选择要使用的算法7、测试结果正确一(FCFS):正确一(SJF):精彩文档实用标准文案正确二(FCFS):精彩文档实用标准文案正确二(SJF):错误(进程个数错误):错误(选择算法错误):精彩文档实用标准文案8、附录//*****************************
5、**************************************//**进程调度算法BY:09软件工程二班李群**//*******************************************************************#include#includeusingnamespacestd;staticconstintMax=100;intArrivalTime[Max];//到达时间intServiceTime[Ma
6、x];//服务时间intFinishTime[Max];//完成时间intWholeTime[Max];//周转时间doubleWeightWholeTime[Max];//帯权周庄时间doubleAverageWT_FCFS,AverageWT_SJF;//平均周转时间doubleAverageWWT_FCFS,AverageWWT_SJF;//平均帯权周转时间intServiceTime_SJF[Max];//在SJF算法中使用到intNum=0;intNowTime=0;//记录当前时间d
7、oubleSumWT=0,SumWWT=0;//SumWT用来计算总的周转时间,SumWWT用来计算总的帯权周转时间inti;intchoice;//记录选择//******************************************************************//先到先服务算法//******************************************************************精彩文档实用标准文案voidFCFS()//找最早到
8、达的。{cout<<"--------------------------------------------------------------"<
此文档下载收益归作者所有