CS-Notes 学习笔记
Java 后端 · 操作系统

进程调度算法有哪些?分别适合什么场景?

先自己想一想,再看参考要点

参考要点

  • 批处理系统追求吞吐量和周转时间:先来先服务不利于短作业,短作业优先的平均等待时间最短但长作业可能饿死,最短剩余时间优先是它的抢占式版本
  • 交互式系统追求响应快:时间片轮转的时间片太小切换开销大、太大响应变慢,优先级调度随等待时间提高优先级以防饿死,多级反馈队列让各级队列的时间片依次加倍,交互式进程留在高优先级、计算密集的逐级下沉
  • Linux 的 CFS 按权重记录虚拟运行时间,总是选最小的运行,6.6 起改用 EEVDF
  • 实时进程使用 SCHED_FIFO、SCHED_RR,优先于普通进程
在学习站中自测这道题

学习站:先用面试题自评定级,按水平和面试日期排出每天的计划,自评过的题按间隔复习。免费、无需注册,记录只保存在自己的浏览器中。