进程调度算法有哪些?

发布于

一、先来先服务(FCFS)

按到达顺序执行,非抢占。简单但短作业可能等待很久。

二、短作业优先(SJF)

预估运行时间短的先执行。平均等待时间最短,但长作业可能饥饿。

三、时间片轮转(RR)

每个进程分配一个时间片,用完就切换。适合交互式系统,响应快。

四、优先级调度

高优先级进程先执行。可抢占或非抢占,低优先级可能饥饿,可用老化(aging)解决。

五、多级反馈队列

  • 多个队列,优先级从高到低,时间片从小到大。
  • 新进程进最高优先级队列,用完时间片降一级。
  • 短作业在高队列快速完成,长作业逐渐降级。
  • 综合了多种算法优点。

六、Linux 调度

CFS(完全公平调度器),按虚拟运行时间排序,红黑树实现。