先来先服务fcfs和短作业优先sjf进程调度算法

先来先服务fcfs和短作业优先sjf进程调度算法

ID:11742161

大小:140.50 KB

页数:7页

时间:2018-07-13

先来先服务fcfs和短作业优先sjf进程调度算法_第1页
先来先服务fcfs和短作业优先sjf进程调度算法_第2页
先来先服务fcfs和短作业优先sjf进程调度算法_第3页
先来先服务fcfs和短作业优先sjf进程调度算法_第4页
先来先服务fcfs和短作业优先sjf进程调度算法_第5页
资源描述:

《先来先服务fcfs和短作业优先sjf进程调度算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一先来先服务FCFS和短作业优先SJF进程调度算法一需求分析【实验目的】通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。【实验内容】问题描述:设计程序模拟进程的先来先服务FCFS和短作业优先SJF调度过程。假设有n个进程分别在T1,…,Tn时刻到达系统,它们需要的服务时间分别为S1,…,Sn。分别采用先来先服务FCFS和短作业优先SJF进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。程序需求:1)进程个数n;每个进程

2、的到达时间T1,…,Tn和服务时间S1,…,Sn;2)要求采用先来先服务FCFS和短作业优先SJF分别调度进程运行,计算每个进程的完成时间,周转时间和带权周转时间,并且计算所有进程的平均周转时间和带权平均周转时间;4)输出:输出计算出来的每个进程的完成时间,周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。5)测试数据:作业情况调度算法进程名ABCDE平均到达时间01234服务时间43524FCFS(a)完成时间47121418周转时间461011149带权周转时间1225.53.52.8SJF(b)完成时间4918613周

3、转时间4816398带权周转时间12.673.11.52.252.1二概要设计1)程序中进程调度时间变量描述如下:constintMaxNum=100;//定义进程的最大总数doubleArrivalTime[MaxNum];到达时间doubleServiceTime[MaxNum];服务时间doubleFinishTime[MaxNum];完成时间doubleWholeTime[MaxNum];周转时间doubleWeightWholeTime[MaxNum];带权周转时间doubleAverageWT_FCFS;定义FCFS平均周转时间d

4、oubleAverageWWT_FCFS;定义FCFS平均带权周转时间doubleAverageWT_SJF;定义SJF平均周转时间doubleAverageWWT_SJF;定义SJF平均带权周转时间2)进程调度的实现过程如下:Ø变量初始化;Ø接收用户输入n,T1,…,Tn,S1,…,Sn;Ø按照算法进行进程调度,计算进程的完成时间、周转时间和带权周转时间;Ø计算所有进程的平均周转时间和平均带权周转时间;Ø按格式输出调度结果。三详细设计1)Main函数intmain(){cout<<"请输入进程总的个数n(n为整数且0

5、endl;cin>>n;while(n<1){cout<<"你输入的n值不合适,请重新输入!"<>n;}cout<<"请按照进程到达的时间由小到大依次输入n个进程的到达时间,以空格隔开:"<>ArrivalTime[i];cout<<"请按上面的顺序依次输入各个进程的服务时间,以空格隔开:"<>ServiceTime[i];FCFS(ArrivalTime,ServiceTime,n);//调用FCFS子程序

6、SJF(ArrivalTime,ServiceTime,n);//调用SJF子程序}2)FCFS算法voidFCFS(double*ArrivalTime,double*ServiceTime,doublen){FinishTime[0]=ArrivalTime[0]+ServiceTime[0];WholeTime[0]=FinishTime[0]-ArrivalTime[0];WeightWholeTime[0]=WholeTime[0]/ServiceTime[0];AverageWT_FCFS=WholeTime[0];Average

7、WWT_FCFS=WeightWholeTime[0];for(inti=1;iArrivalTime[i]

8、

9、FinishTime[i-1]==ArrivalTime[i])FinishTime[i]=FinishTime[i-1]+ServiceTime[i];elseFinishTime[i]=ArrivalTime[i]+ServiceTime[i];WholeTime[i]=FinishTime[i]-ArrivalTime[i];WeightWholeTime[i]=Whole

10、Time[i]/ServiceTime[i];AverageWT_FCFS+=WholeTime[i];AverageWWT_FCFS+=WeightWholeTi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。