定义
护航效应 (Convoy Effect) 是指在非抢占式调度(如 FCFS)中,因一个长 CPU 密集型进程长时间占用 CPU,导致后续众多短 I/O 密集型进程被迫等待的现象。
直观理解
就像在单车道高速公路上,一辆速度缓慢的大卡车(长进程)挡在前面,导致后面的一串跑车(短进程)无法超车,只能被迫慢速行驶。这会导致 CPU 和 I/O 设备的利用率都大幅降低。
关键点
- 发生场景:先来先服务 (FCFS) 等非抢占式调度算法。
- 后果:I/O 密集型进程响应变慢,I/O 设备闲置,系统整体吞吐量下降。
- 解决思路:采用抢占式调度(如时间片轮转调度),强制长进程定期交出 CPU。