实验要求
设计一个按优先权调度算法实现处理器调度的程序。 【提示】 (1)假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为: 其中,
- 进程名——作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。
- 指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。
- 要求运行时间——假设进程需要运行的单位时间数。
- 优先数——赋予进程的优先权,调度时总是选取优先数大的进程先执行。
- 状态——可假设有三种状态,“就绪”状态(ready)、“运行”状态(working)和“结束”状态(finish)。五个进程的初始状态都为“就绪”,用“R”表示;当进程运行结束后,它的状态为“结束”,用“E”表示;当进程被选中开始运行但尚未结束时,它的状态为“运行”,用“W”表示。
(2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。
(3)为了调度方便,把五个进程按给定的优先数从大到小连成队列。用一单元指出队首进程,用指针指出队列的连接情况。例: 队首标志