其中:
RUN——当前运行进程指针;
READY——就绪队列头指针;
TAIL——就绪队列尾指针;
FINISH——完成队列头指针。
为了便于处理,程序中进程的运行时间以时间片为单位计算。
各进程的优先数或轮转时间片数以及进程需运行的时间片数的初值
均由用户给定。
3. 程序说明:
a)在优先数算法中,进程每执行一次,优先数减 3,CPU 时
间片数加 1,进程还需要的时间片数减 1。在轮转法中,采用固定时
间片,时间片数为 2,进程每执行一次,CPU 时间片数加 2,进程还
需要的时间片数减 2,并排到就绪队列的尾上。
b)程序结构说明如下:
整 个 程 序 由
CREATE,FIRSTIN,INSERT1,INSERT2,PRINT,PRISCH 和
ROUNDSCH 过程组成。其中:
CREATE 的功能是创建新的进程,即创立进程的 PCB,并将
此 PCB 链入到就绪队列中去。
FIRSTIN 的功能是将就绪队列中的第一个进程投入运行。
INSERT1 的功能是把还未完成且优先数小于别的进程 PCB 按
进程优先数的顺序插入到就绪队列中。