进程调度算法有哪些?
操作系统面试题发布于
一、先来先服务(FCFS)
按到达顺序执行,非抢占。简单但短作业可能等待很久。
二、短作业优先(SJF)
预估运行时间短的先执行。平均等待时间最短,但长作业可能饥饿。
三、时间片轮转(RR)
每个进程分配一个时间片,用完就切换。适合交互式系统,响应快。
四、优先级调度
高优先级进程先执行。可抢占或非抢占,低优先级可能饥饿,可用老化(aging)解决。
五、多级反馈队列
- 多个队列,优先级从高到低,时间片从小到大。
- 新进程进最高优先级队列,用完时间片降一级。
- 短作业在高队列快速完成,长作业逐渐降级。
- 综合了多种算法优点。
六、Linux 调度
CFS(完全公平调度器),按虚拟运行时间排序,红黑树实现。