50-NEEDTIME
每执行一次,优先数减 1,CPU 时间片数加 1,进程还需要的时间片数减 1。在轮
转法中,采用固定时间片单位(两个时间片为一个单位),进程每轮转一次,CPU 时
间片数加 2,进程还需要的时间片数减 2,并退出 CPU,排到就绪队列尾,等待下
一次调度。
2. 程序的模块结构如下:
整个程序可由主程序和如下 7 个过程组成:
2
(1)INSERT1——在优先数算法中,将尚未完成的 PCB 按优先数顺序插入到就绪
队列中;
(2)INSERT2——在轮转法中,将执行了一个时间片单位(为 2),但尚未完成的
进程
的 PCB,插到就绪队列的队尾;
(3)FIRSTIN——调度就绪队列的第一个进程投入运行;
(4)PRINT——显示每执行一次后所有进程的状态及有关信息。
(5)CREATE——创建新进程,并将它的 PCB 插入就绪队列;
(6)PRISCH——按优先数算法调度进程;
(7)ROUNDSCH——按时间片轮转法调度进程。
主程序定义 PCB 结构和其他有关变量。
实验代码:
Main.cpp
评论0
最新资源