实 验 报 告题目名称C 语言实现调度算法程序设计实验报告-先来先服务 FCFS院系 a班级 完成时间 指导老师 本次实验成绩主要原理及所参考的资料算法原理:设计程序模拟进程的先来先服务 FCFS 过程。假设有 n 个进程分别在 T1, … ,Tn 时刻到达系统,它们需要的服务时间分别为 S1, … ,Sn。分别采纳先来先服务 FCFS 调度算法进行调度,计算每个进程的完成时间,周转时间和带权周转时间,并且统计 n 个进程的平均周转时间和平均带权周转时间。程序要求如下:1)进程个数 n;每个进程的到达时间 T1, … ,Tn和服务时间 S1, … ,Sn。2)要求采纳先来先服务 FCFS 调度进程运行,计算每个进程的周转时间,带权周转时间,并且计算所有进程的平均周转时间,带权平均周转时间;3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻 3:进程 B 开始运行”等等;4)输出:要求输出计算出来的每个进程的周转时间,带权周转时间,所有进程的平均周转时间,带权平均周转时间。主要参考书:计算机操作系统第三版 西安电子科技大学出版社 汤小丹主编主要算法具体实验步实现提示:用 C 语言实现提示:1)程序中进程调度时间变量描述如下:static int MaxNum=100;int ArrivalTime[MaxNum];int ServiceTime[MaxNum];int FinishTime[MaxNum];int WholeTime[MaxNum];double WeightWholeTime[MaxNum];double AverageWT_FCFS; double AverageWWT_FCFS;骤2)进程调度的实现过程如下:变量初始化;接收用户输入 n,T1, … ,Tn,S1, … ,Sn;根据选择算法进行进程调度,计算进程的完成时间、周转时间和带权周转时间;计算所有进程的平均周转时间和平均带权周转时间;按格式输出调度结果。实验要求1.程序流程图2.程序源代码P=HEAD ; i=0P=Q;P=P->NEXT;P=P->NEXT;Q->STARTTIME=TIMEQ->STATE=’T’… …开始i++; 输出执行进程信息结束P->STATE==’F’?Q->ARRIVETIME > TIME?i < n ?Q->STARTTIME=ARRIVETIMEQ->STATE=’T’… …YNYNNY#include"stdio.h"#include"stdlib.h"typedef struct PCB //定义进程控制块{ char name[10]; //进程名char state; //运行状态int ArriveTime; //到达时间int StartTime; //进程开始时间int FinishTime; //进程结束时间int ServiceTime; //服务时间float WholeTime;//周转时间float WeightWholeTime;//带权周转时间double AverageWT...