算法的理解。要求设计一个有几个进程并发执行的进程调度程序,每个进程由一个进程控制块(PCB)表示,进程控制块通常应包括下述信息:进程名,进程优先数,进程需要运行的时间,占用CPU的时间以及进程的状态等,且可按照调度算法的不同而增删。调度程序应包含2—3种不同的调度算法,运行时可以任选一种,以利于各种方法的分析和比较。系统应能显示或打印各进程状态和参数的变化情况,便于观察。二、示例题目本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假定起始状态都是就绪状态W。为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。进程控制块结构如表2-1所示:表2-1PCB进程标识符链指针优先数/轮转时间片数占用CPU时间片数进程所需时间片数进程状态进程控制块链结构如图2-1所示:RUNHEADTAIL1┇R3┇W5┇WW0┇2…图2-1进程控制块链结构其中:RUN—当前运行进程指针;HEAD—进程就绪链链首指针;TAIL—进程就绪链链尾指针。2.算法与框图程序框图如图2-2所示。priority是输入调度算法alog开始alog=priority/roundrobin?生成并按优先数大小排列进程控制块链进程时间片数为0?从链首取一个进程投入运行生成并按进入次序排列进程控制块链链首进程投入运行时间片到,进程时间片数减1,优先数减3运行进程退出,排到进程链尾部撤消该进程链首进程投入运行时间片到,进程时间片数减1,占用CPU时间加1优先数大于链首进程?进程时间片数为0?撤消该进程运行进程退出,按优先数插入进程链从链首取一个进程投入运行结束结束进程队列空?进程队列空?是是是否否否否否是roundrobin占用处理机时间片到?否是