Appearance
题目
下列进程调度算法中,综合考虑进程等待时间和执行时间的是( )。
错因
A
时间片轮转只看队列顺序——按队列轮流给时间片,跟等待时间、执行时间都没关系。它对长短任务一视同仁,两者都不考虑。
B
短进程优先只看执行时间——执行时间越短优先级越高,跟等待时间无关。这正是它会饥饿的原因:长任务等多久都没用,新来的短任务还是抢先。
C
先来先服务只看到达顺序(间接看等待时间,谁等得久谁先来)——但不考虑执行时间,长任务会让短任务等很久。也是单维度算法。
总解析
HRRN(高响应比优先) 的响应比公式:
每次调度选 R 最大的进程跑。这个公式同时体现两个因素:
- 执行时间在分母 → 执行时间越短,R 越大 → 偏向短任务(继承 SJF 优点)
- 等待时间在分子 → 等得越久,R 越大 → 避免饥饿(弥补 SJF 缺点)
对比四种算法考虑的因素:
| 算法 | 执行时间 | 等待时间 | 综合考虑? |
|---|---|---|---|
| A 时间片轮转 | ✗ | ✗ | ✗ |
| B 短进程优先 | ✓ | ✗ | ✗ |
| C 先来先服务 | ✗ | (间接) | ✗ |
| D 高响应比 | ✓ | ✓ | ✓ |
速记:HRRN = SJF(看执行时间)+ FCFS(看等待时间)的折中——既偏向短任务保证效率,又用等待时间防止长任务饿死。
最终答案是 D。