tTotalTime;//带权周转时间(周转时间/估计运行时间)Р?PCB *next;//定义指向下一个进程的指针Р};Р各主要模块的算法流程图Р先来先服务(FCFS)Р图6.1.1 main()函数流程图Р图6.1.2 sort()函数流程图Р抢占的短进程优先(SPF)Р结束SF函数调用Р调用SF算法Р是РPQueue队列是空?Р模拟当前进程运行结束,对总周转时间,总带权周转时间,以及运行结束时间点(end_time)赋值。并把进程信息插入Queue队列,且删除其在vector中的进程信息Р否Р取PQueue队列第一个元素,即到达时间最早的进程进行模拟运行,并计算出不被强占情况下的结束时间点(atime)Р取下一个运行进程的信息Р在atime之前是否有进程到达?Р是РPQueue队列为空?РVector是否为空?Р否Р是Р否Р否Р是Р计算出当前系统时间点,并对运行中的进程进行的预计运行时间进行设置(此处以未标志bvisited时的end_time表示)。并将此进程和所有其他新到达进程都插入vector之中进行排序(排序按预计运行时间短在前长居后),删除新到达的进程在PQeuee队列中的信息Р取PQueue队列的队首元素Р取vector第一个元素模拟运行Р取出vector中的第一个元素进入模拟运行状态。Р计算出此进程不被强占情况下的结束时间点(atime)Р高响应比优先(HRRN)Р时间片轮转(RR、时间片=1)Р开始Р初始化PCB,输入进程信息Р就绪队列空? Р把进程的状态设为W,在把进程插入队尾Р时间片到,运行进程已占用CPU时间+1Р运行进程已占用CPU时间已达到所需的运行时间Р结束Р就绪队列首进程投入运行Р进程完成,撤销该进程Р是Р否Р已到达Р未到达Р程序运行情况;Р1测试用例:Р进程?到达时间?服务时间РA 0 3РB 2 6РC 4 4РD 6 5РE 8 2