[操作系统] 多级反馈队列的调度 实验目标 1
理解有关进程控制块,进程队列的概念
掌握进程多级反馈队列的调度的处理逻辑
设计进程控制块PCB 的结构,分别适用于多级反馈队列的调度
建立进程就绪队列
编制多级反馈队列的调度算法
实验要求 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解
设计思路 多级反馈队列 多级反馈队列原理 多级反馈队列调度算法又称反馈循环队列或多队列策略,主要思想是将就绪进程分为两级或多级,系统相应建立两个或多个就绪进程队列,较高优先级的队列一般分配给较短的时间片
处理器调度先从高级就绪进程队列中选取可占有处理器的进程,只有在选不到时,才从较低级的就绪进程队列中选取
具体描叙如下: ①OS 设置有多个就绪队列(用qReadyi, i=1,2,
,n 表示),用于存放等待处理的进程,每个队列的优先权(priority)各不相同,从第一个到最后一个依次降低; ②各个队列中进程执行的时间片大小各不相同,优先级越高的队列时间片越小,各个队列的时间片可按下面的规定:每一个队列时间片都比前一个队列时间片长 1 倍; ③当一个进程进入内存后,先放入第一队列qReady1 末尾,按先来先响应的原则排队等待处理
该进程执行时若在规定的时间片内完成,则处理完毕,可撤离系统,若第一个时间片结束时尚未完成,则该进程转入第二队列qReady2 的末尾排队等待处理,依次下去,直至转到最后一个队列中
④仅当第 i 个队列qReadyi 为空,才能调度第 i+1 队列qReady (i+1)中的进程运行
如果第 qReadyi 队列中某进程正在执行,又有新进程进入第 qReady1 至 qReady(i-1)中任何队列,则此时正在运行的进程放回第 i 队列末尾,运行新进程
● 每个进程在输入时,需描述下面