多级队列调度算法学习卡
- 基本定义: 系统中按进程类型设置多个队列,进程创建成功后插入对应类型的队列
- 队列特点:
- 不同队列具有不同优先级
- 每个队列可采用独立的调度策略
- 系统进程队列优先级最高,批处理队列优先级最低
- 最高优先级: 系统进程(如内存管理进程)
- 中等优先级: 交互式进程(如游戏、打字软件)
- 最低优先级: 批处理进程(如AI模型训练、视频特效渲染)
- 设计原因:
- 系统进程优先级最高是必然需求
- 交互式进程需要快速响应
- 批处理进程对实时性要求低
- 固定优先级策略:
- 高优先级队列非空时,低优先级队列不会被调度
- 缺点:可能导致低优先级进程长期饥饿
- 时间片划分策略:
- 示例分配比例:系统进程50%、交互式进程40%、批处理进程10%
- 优点:保证各类进程都能获得响应时间
- 实际应用:可设置100ms周期,按比例分配各队列执行时间
- 系统进程队列: 可采用优先级调度(选择最紧急的进程)
- 交互式队列: 适合时间片轮转(RR),保证快速响应
- 批处理队列: 可采用先来先服务(FCFS)
- 灵活性:
- 实际系统中可设置更多队列级别
- 各队列调度策略可根据需求自由组合
- 选择队列后,再在队列内部选择具体进程执行
- 核心流程:
- 进程分类入队列
- 选择队列(按优先级/时间片)
- 队列内部选择具体进程执行
- 重要考点:
- 队列优先级设计逻辑(系统进程>交互式>批处理)
- 交互式进程优先级高于批处理的实际意义
- 绝对优先级可能导致低优先级进程饥饿
- 不同队列可采用独立调度策略
- 多级队列与单一队列调度(如RR)的本质差异