进程调度算法有哪些?分别适合什么场景?
先自己想一想,再看参考要点
参考要点
- 批处理系统追求吞吐量和周转时间:先来先服务不利于短作业,短作业优先的平均等待时间最短但长作业可能饿死,最短剩余时间优先是它的抢占式版本
- 交互式系统追求响应快:时间片轮转的时间片太小切换开销大、太大响应变慢,优先级调度随等待时间提高优先级以防饿死,多级反馈队列让各级队列的时间片依次加倍,交互式进程留在高优先级、计算密集的逐级下沉
- Linux 的 CFS 按权重记录虚拟运行时间,总是选最小的运行,6.6 起改用 EEVDF
- 实时进程使用 SCHED_FIFO、SCHED_RR,优先于普通进程