实验一 先来先服务FCFS和短作业优先SJF进程调度算法 一:需求分析 程序设计的任务:设计程序模拟进程的先来先服务 FCFS 和短作业优先 SJF 调度过程
假设有 n 个 x 进程分别在 T1, … ,Tn 时刻到达系统,它们需要的服务时间分别为 S1, … ,Sn
分别采用先来先服务 FCFS 和短作业优先 SJF 进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计 n 个进程的平均周转时间和平均带权周转时间
通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法
(1)输入的形式和输入值的范围 为免去测试时候需要逐步输入数据的麻烦,输入时采用输入文件流方式将数据放在
tx t文件中,第一行为进程个数,第二行为进程到达时间(各个进程的到达时间之间用空格隔开),第三行为进程的服务时间(每个服务时间之间用空格隔开)
(2)输出的形式 模拟整个调度过程,输出每个时刻的进程运行状态,同时输出了每个进程的完成时间,并且按要求输出了计算出来的每个进程的周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间
(3)程序所能达到的功能 能够模拟出进程的先来先服务 FCFS 算法和短作业优先 SJF 算法的调度过程,输入进程个数 n;每个进程的到达时间 T1, … ,Tn 和服务时间 S1, … ,Sn;选择算法 1-FCFS,2-SJF,3-退出,用户做出选择即可输出对应的算法调度过程或者退出程序
(4)测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果 测试数据及其输出结果: 也可看下面截图的测试结果 二:概要设计 程序包括主函数、FCFS 算法函数、SJF 算法函数、输出函数; 主函数流程:输入文件中的数据—显示各进程数据—选择算法—调用相应算法的函数—输出结果 三:详细设