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