rtFinish(run); Р flag = 0; Р } Р else /*将进程状态置为W,入就绪队列*/ Р { Р run->state = 'W'; Р run->count++; /*进程执行的次数加一*/ Р InsertTime(run); Р flag = 0; Р } Р } Р flag = 1; Р GetFirst(); /*继续取就绪队列队头进程进入执行队列*/ Р } Р} Рvoid RoundRun() /*时间片轮转调度算法*/ Р{ Р Р int flag = 1; Р Р GetFirst(); Р while(run != NULL) Р { Р Output(); Р while(flag) Р { Р run->count++; Р run->cputime++; Р run->needtime--; Р if(run->needtime == 0) /*进程执行完毕*/ Р { Р run ->state = 'F'; Р InsertFinish(run); Р flag = 0; Р } Р else if(run->count == run->round)/*时间片用完*/ Р { Р run->state = 'W'; Р run->count = 0; /*计数器清零,为下次做准备*/ Р InsertTime(run); Р flag = 0; Р } Р } Р flag = 1; Р GetFirst(); Р } Р} Р实验结果Р基本数据Р源程序代码行数Р源码共:273行Р完成该实验投入的时间(小时数)Р与其他同学讨论次数Р测试数据设计Р优先数调度算法测试数据:РA1 2РA2 3РA3 4РA4 2РA5 4Р时间片轮转调度算法测试数据:РA1 3РA2 2РA3 4РA4 2РA5 1Р测试结果分析