2022年先来先服务短作业优先定义 .pdf
《2022年先来先服务短作业优先定义 .pdf》由会员分享,可在线阅读,更多相关《2022年先来先服务短作业优先定义 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统实验一内容要求【实验题目】:先来先服务 FCFS和短作业优先 SJF进程调度算法【实验目的 】通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。【实验内容 】问题描述:设计程序模拟进程的先来先服务FCFS 和短作业优先 SJF 调度过程。假设有 n 个进程分别在 T1, ,Tn时刻到达系统,它们需要的服务时间分别为 S1, ,Sn。 分别采用先来先服务FCFS和短作业优先 SJF进程调度算法进行调度, 计算每个进程的完成时间, 周转时间和带权周转时间,并且统计n 个进程的平均周转时间和平均带权周转时间。程序要求如下:1)进程个数n;每个
2、进程的到达时间T1, ,Tn和服务时间S1, ,Sn;选择算法 1-FCFS,2-SJF。2)要求采用先来先服务FCFS和短作业优先 SJF分别调度进程运行,计算每个进程的周转时间,带权周转时间,并且计算所有进程的平均周转时间,带权平均周转时间;3) 输出:要求模拟整个调度过程, 输出每个时刻的进程运行状态,如“时刻 3:进程 B 开始运行”等等;4)输出:要求输出计算出来的每个进程的周转时间,带权周转时间,所有进程的平均周转时间,带权平均周转时间。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
3、 - - 第 1 页,共 8 页 - - - - - - - - - 实验要求:1)上机前认真复习FCFS 和 SJF 进程调度调度算法,熟悉进程调度的执行过程;2)上机时独立编程、调试程序;3)根据具体实验要求,完成好实验报告(包括实验的目的、内容、要求、源程序、实例运行结果截图) 。源程序#include #include #define Number 100 void main() int ArrivalNumber,ServiceNumber,i; cout输入进程数目:num; for(i=0;inum;i+) cout 第i+1ArrivaliServicei; struct st
4、atedd/声明结构 bool doneF,doneS; int arrivalTime,serviceTime,FinishTime1,WholeTime1,FinishTime2,WholeTime2; float WeightWholeTime1,WeightWholeTime2; ; statedd processNumber;/声明结构变量数组int timeflyF=0,timeflyS=0; int j,k,nextproF,nextproS; / 初始化for(i=0;inum;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
5、 - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - processi.doneF = false; processi.doneS = false; processi.FinishTime1 = 0; processi.WholeTime1 = 0; processi.WeightWholeTime1 = 0; processi.FinishTime2 = 0; processi.WholeTime2= 0; processi.WeightWholeTime2 =0; processi.arrivalTime= Arriva
6、li; processi.serviceTime= Servicei; / 获取最先到达的进程下标first int first=0; for(i=1;iArrivali) first=i; processfirst.doneF=true; processfirst.doneS=true; processfirst.FinishTime1 = processfirst.serviceTime + processfirst.arrivalTime; processfirst.FinishTime2 = processfirst.serviceTime + processfirst.arrival
7、Time; timeflyF += processfirst.arrivalTime+processfirst.serviceTime; timeflyS += processfirst.arrivalTime+processfirst.serviceTime; / 接下去到达的进程coutfcfs-1endlsjf-2endlfcfs&sjf-3choose; if(choose=1|choose=3) / fcfs for(j=1;jnum;j+) nextproF = num+1; for(k =0 ; knum; k+ ) if( !processk.doneF ) if( proce
8、ssk.arrivalTime processk.arrivalTime ) nextproF = k; / 获取到达时刻最先的进程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - / 处理processnextproF.FinishTime1 = processnextproF.serviceTime + timeflyF; timeflyF += processnextproF.serviceTime; processnext
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年先来先服务短作业优先定义 2022 年先来先 服务 作业 优先 定义
限制150内