实验二时间片轮转RR进程调度算法一:需求分析程序的设计的任务和目的:设计程序模拟进程的时间片轮转RR 调度过程
假设有 n 个进程分别在 T1, ⋯ ,Tn 时刻到达系统,它们需要的服务时间分别为S1, ⋯ ,Sn
分别利用不同的时间片大小 q,采用时间片轮转RR 进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计n 个进程的平均周转时间和平均带权周转时间
通过这次实验, 加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法
(1) 输入的形式和输入值的范围为避免测试时频繁输入数据,将测试数据放在txt文件中采用读文件方法读取数据
在同目录下的 txt 文件中输入数据,第一行为进程到达时间,中间用空格隔开,第二行为进程服务时间,不同进程的服务时间之间用空格隔开
(2) 输出的形式输出每个时刻的进程运行状态,并且输出计算出来的每个进程的周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间
(详见运行截图)(3) 程序所能达到的功能;能够模拟进程的时间片轮转RR调度过程,可以输入时间片大小,然后采用时间片轮转RR进程调度算法进行调度,可以模拟调度过程,输出每个时刻的进程运行状态,另外也实现了输出计算出来的每个进程的周转时间、带权周转时间、 所有进程的平均周转时间以及带权平均周转时间
(4) 测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果
详见运行结果截图2、概要设计使用链表创建队列,用链表方法实现时间片轮转调度
主要有主函数,时间片轮转调度函数void RR(int*ArrivalTime,int*ServiceTime,int n,int q,LinkQueue &Q) 和 输出 函数void print(int n,int array[]) ,void print(int n,do