关于多级反馈队列调度算法
首先,这是交互系统中采用的调度算法,分别是:
- 轮转调度RR(Round Robin)
- 最高优先级调度HPF(Highest Priority First)
- 多级反馈队列(Multiple feedback queue)
- 最短进程优先(Shortest Process Next)
核心要点:
设置多个就绪队列,第一级队列优先级最高。但是分配的时间片最短,即时间片大小与队列优先级成负相关,各级队列按照时间片轮转方式(很公平,但如果进程来回多次切换,就得不偿失了)
几点说明:
-
多级反馈调度,结合了轮转调度和最高优先级调度,同时采用先来先服务的原则:
比如:第一级队列先执行,那么没有执行完成的进程会放在第二季队列的末尾,依次进行。 -
如果出现在执行第i级队列时,有新进程进入更高优先级的队列中,级1-(i-1)中,那么当前执行的进程放回第i级队列末尾,然后执行优先级更高的进程。
-
不同的系统对于多级反馈会有不同的设计方案,比如:由于阻塞而放弃的CPU进程回到响应的等待队列,可以是回到队首,也可以是回到队尾;同样分配的时间片可以是全部,也可以是剩余的时间。