先来先服务FCFS和短作业优先SJF进程调度算法(共9页).doc





《先来先服务FCFS和短作业优先SJF进程调度算法(共9页).doc》由会员分享,可在线阅读,更多相关《先来先服务FCFS和短作业优先SJF进程调度算法(共9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上先来先服务FCFS和短作业优先SJF进程调度算法【实验题目】:先来先服务FCFS和短作业优先SJF进程调度算法通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。【实验内容】问题描述:设计程序模拟进程的先来先服务FCFS和短作业优先SJF调度过程。假设有n个进程分别在T1, ,Tn时刻到达系统,它们需要的服务时间分别为S1, ,Sn。分别采用先来先服务FCFS和短作业优先SJF进程调度算法进行调度,计算每个进程的完成时间,周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。【实验要求】要求如下:1)
2、进程个数n;每个进程的到达时间T1, ,Tn和服务时间S1, ,Sn;选择算法1-FCFS,2-SJF。2)要求采用先来先服务FCFS和短作业优先SJF分别调度进程运行,计算每个进程的周转时间,带权周转时间,并且计算所有进程的平均周转时间,带权平均周转时间;3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻3:进程B开始运行”等等;4)输出:要求输出计算出来的每个进程的周转时间,带权周转时间,所有进程的平均周转时间,带权平均周转时间。程序代码:#include#include#define Number 5void main() int n;int daodaNumber,f
3、uwuNumber,i;cout请依次输入各个进程的到达时间并以空格间隔:; for(i=0;idaodai; cout请依次输入各个进程的服务时间,并以空格间隔:; for(i=0;ifuwui;coutn;while(n3)coutn;struct statedd /声明结构 bool doneF,doneS; int daoda,fuwu; float wancheng,zhouzhuan,daiquan,wan,zhou,dai;statedd processNumber;/声明结构变量,这里为数组int timeflyF=0,timeflyS=0;/定义两个类似于秒表的变量int j
4、,k,l,nextproF,nextproS;/ 获取数据for(i=0;iNumber;i+)processi.doneF = false;processi.doneS = false;processi.wancheng = 0;processi.zhouzhuan = 0;processi.daiquan = 0;processi.wan = 0;processi.zhou = 0;processi.dai =0;processi.daoda = daodai;processi.fuwu = fuwui;/ 获取最先到达的进程下标firstint first=0;l=first;for(i
5、=1;idaodai)first=i;processfirst.doneF=true;processfirst.doneS=true;processfirst.wancheng = processfirst.fuwu + processfirst.daoda;processfirst.wan = processfirst.fuwu + processfirst.daoda;timeflyF += processfirst.daoda+processfirst.fuwu;timeflyS += processfirst.daoda+processfirst.fuwu;/ 接下去到达的进程/*/
6、fcfs *for(j=1;jNumber;j+)nextproF = Number+1;for(k =0 ; kNumber; k+ )if( !processk.doneF )if( processk.daoda processk.daoda ) nextproF = k; /获取到达时刻最先的进程/else/if2/if1/for/ 处理processnextproF.wancheng = processnextproF.fuwu + timeflyF;timeflyF += processnextproF.fuwu;processnextproF.doneF=true; / circl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 先来先 服务 FCFS 作业 优先 SJF 进程 调度 算法

限制150内