这是一个非常经典且重要的操作系统面试/考试话题。进程调度算法决定了CPU如何决定将资源分配给哪个进程,直接影响系统的性能(吞吐量、响应时间、周转时间等)。 你列出的四个是最核心的算法,我将逐一详细解释,并补充一个常考的“优先级调度”作为补充,最后做一个对比总结。 --- 1. 先来先服务 (FCFS - First-Come, First-Served) 这是最简单的调度算法,类似于我们在超市排队结账。 机制:按照进程到达就绪队列的先后顺序进行调度。谁先来,谁先用 CPU。 方式:非抢占式(一旦获得 CPU,直到执行完或阻塞才释放)。 优点: 算法简单,易于理解和实现。 公平(在“先到先得”的意义上)。 缺点: 护航效应 (Convoy Effect):如果一个长作业先到达,后面的短作业必须等待很长时间,导致平均等待时间非常长。 对I/O密集型进程不友好(CPU利用率低)。 适用场景:结合其他算法使用,或用于后台批处理系统。 2. 短作业优先 (SJF - Shortest Job First) 为了解决 FCFS 中短作业等待时间过长的问题而设计。 机制:从就绪队列中选择估计运...