题目
下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。A. 先来先服务B. 高响应比优先C. 时间片轮转D. 非抢占式短任务优先
下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。
A. 先来先服务
B. 高响应比优先
C. 时间片轮转
D. 非抢占式短任务优先
题目解答
答案
B. 高响应比优先
解析
本题考查进程调度算法的核心特点,需理解各算法如何实现短任务优先及避免饥饿现象。关键点在于:
- 短任务优先:确保短任务能快速完成,减少等待时间。
- 避免饥饿:保证每个进程最终都能获得调度,不会无限期等待。
选项分析:
- A. 先来先服务(FCFS):按到达顺序调度,无法保证短任务优先。
- B. 高响应比优先(HRRN):通过动态调整响应比,既优先调度短任务,又防止长时间等待的进程饿死。
- C. 时间片轮转(RR):轮转调度避免饥饿,但无法有效区分任务长短。
- D. 非抢占式短任务优先(SJF):虽短任务优先,但长任务一旦开始执行会阻塞后续任务,可能导致饥饿。
选项B:高响应比优先(HRRN)
响应比计算
响应比公式为:
$\text{响应比} = \frac{\text{等待时间} + 1}{\text{要求运行时间}}$
- 等待时间增加会提升响应比,确保长时间等待的进程优先级上升。
- 短任务因要求运行时间短,初始响应比高,优先调度。
避免饥饿机制
- 长时间等待的进程响应比逐渐超过短任务,最终被调度,防止饿死。
- 动态调整确保公平性,兼顾短任务效率与长任务的调度机会。
其他选项排除
- A. FCFS:长任务会阻塞后续短任务,无法短任务优先。
- C. RR:时间片固定,无法区分任务长短,仅保证轮转。
- D. SJF(非抢占式):长任务一旦开始执行,后续短任务需等待其完成,可能饿死。