实验一 先来先服务FCFS 和短作业优先SJF 进程调度算法 1、需求分析 (1) 输入的形式和输入值的范围 首先输入进程个数,然后输入进程到达的时间和服务时间,输入完成,程序显示 FCFS和SJF算法的结果
(2) 输出的形式 程序的输出根据用户输入的到达时间以及服务时间,通过相应的计算输出其各自的完成时间,周转时间,带全周转时间以及平均值,程序会先输出 FCFS的结果,然后输入 SJF的结果
3) 程序所能达到的功能 1)输入进程个数 n;每个进程的到达时间 T1, … ,Tn和服务时间S1, … ,Sn
2)采用先来先服务FCFS 和短作业优先SJF 分别调度进程运行,计算每个进程的周转时间和带权周转时间,并且计算所有进程的平均周转时间和带权平均周转时间; 3)输出:输出计算出来的每个进程的周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间
(4) 测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果 正确输入的结果 错误输入的结果 2、概要设计 抽象数据类型的定义: static int MaxNum=100;//进程的最大值 int ArrivalTime[100];//到达时间 int ServiceTime[100];//服务时间 int FinishTime[100];//完成时间 int WholeTime[100];//周转时间 double WeightWholeTime[100];//带权周转时间 double AverageWT_FCFS,AverageWT_SJF; //平均周转时间 double AverageWWT_FCFS,AverageWWT_SJF;//平均带权周转时间 int Num=0; int NowTime=0;//记录当前时间 double SumWT=0,SumWWT=0;//SumWT用