# 3.5 多级反馈队列调度 ## 一、多级反馈队列的基本概念 ### 1.1 什么是多级反馈队列 多级反馈队列是一种综合了多种调度算法优点的调度算法。它设置多个就绪队列,每个队列有不同的优先级和时间片,进程可以在队列之间移动。 ### 1.2 算法特点 - **多个就绪队列**:每个队列有不同的优先级 - **不同时间片**:优先级高的队列时间片短,优先级低的队列时间长 - **动态调整**:进程可以在队列之间移动 - **反馈机制**:根据进程表现调整优先级 --- ## 二、多级反馈队列的结构 ### 2.1 队列设置 ``` 队列1(最高优先级):时间片 = 8ms 队列2(次高优先级):时间片 = 16ms 队列3(中等优先级):时间片 = 32ms ... 队列n(最低优先级):时间片 = 2^n × 8ms ``` ### 2.2 队列特性 **优先级**: - 队列1优先级最高 - 队列n优先级最低 **时间片**: - 队列1时间片最短 - 队列n时间片最长 --- ## 三、调度规则 ### 3.1 新进程进入 - 新进程首先进入队列1的末尾 - 按FCFS原则排队 ### 3.2 进程执行 - 从队列1开始调度 - 如果进程用完时间片,降级到下一队列 - 如果进程在时间片内阻塞,回到原队列 ### 3.3 队列调度 - 先调度队列1的进程 - 只有队列1为空,才调度队列2 - 以此类推 ### 3.4 进程升级 - 等待时间过长的进程可以升级 - 防止长进程饥饿 --- ## 四、算法优点 ### 4.1 短作业优先 - 短作业在队列1快速完成 - 响应时间短 ### 4.2 长作业也能得到服务 - 长作业降级到后级队列 - 时间片更长,减少切换 - 不会饥饿 ### 4.3 I/O繁忙型进程优先 - I/O操作后回到原队列 - 快速响应 ### 4.4 CPU繁忙型进程在后级队列 - 减少上下文切换 - 提高效率 --- ## 五、算法缺点 ### 5.1 实现复杂 - 需要维护多个队列 - 需要动态调整优先级 ### 5.2 参数选择困难 - 队列数量 - 时间片大小 - 升级策略 --- ## 六、考研重点 1. **多级反馈队列的结构**:多个队列,不同优先级和时间片 2. **调度规则**:新进程进入、进程执行、队列调度 3. **进程移动**:降级和升级 4. **算法优点**:兼顾短作业和长作业 5. **算法缺点**:实现复杂 --- *第三章完,进入第四章:内存管理*