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