操作系统常用调度算法:FCFS、SJF、HRN
该思维导图总结了三种常见的进程调度算法:先来先服务(FCFS)、短作业优先(SJF)和最高响应比优先(HRN)。FCFS算法简单易懂,按作业到达顺序执行;SJF算法选择运行时间最短的作业,以减少平均周转时间;HRN算法则综合考虑等待时间和执行时间,通过响应比来选择作业,兼顾公平性和效率,避免长作业长期等待。 三种算法各有优劣,适用场景不同。
源码
# 操作系统常用调度算法
## 一、先来先服务算法(FCFS)
- 定义
- 最简单的调度算法
- 按照作业进入输入井的先后次序调度
- 特点
- 非抢占式
- 当前作业占用CPU直到执行完或阻塞
- 优缺点
- 优点
- 实现简单,容易理解
- 缺点
- 可能导致“饥饿”现象
- 平均周转时间较长
## 二、短作业优先算法(SJF)
- 定义
- 根据作业所需的运行时间选择运行时间较短的作业
- 特点
- 抢占式或非抢占式均可实现
- 优先级根据运行时间进行动态变化
- 优缺点
- 优点
- 最小化平均周转时间
- 缺点
- 可能导致长作业“饥饿”
- 需要准确预测作业的运行时间
## 三、最高响应比优先算法(HRN)
- 定义
- 综合考虑进程的等待时间和执行时间
- 响应比计算
- 响应比R = (等待时间 + 要求执行时间) / 要求执行时间
- 特点
- 动态优先级调整
- 提供公平性和效率的平衡
- 优缺点
- 优点
- 避免长进程长期等待
- 缺点
- 计算复杂度较高
- 需要维护更多的状态信息
图片
