【系统面试篇】简述进程调度算法
目录
一、综述
1. 先来先服务调度算法
2. 最短作业优先调度算法
3. ⾼响应⽐优先调度算法
4. 时间⽚轮转调度算法
5. 最⾼优先级调度算法
6. 多级反馈队列调度算法
7. 最短剩余时间优先
8. 最⼤吞吐量调度
9. 最⼤吞吐量调度
一、综述
进程调度算法是 操作系统中 ⽤来
管理 和 调度进程(也称为 任务或作业)执⾏的⽅法
。这些算法决定了 在多任务环境下,如何 为各个 进程 分配 CPU 时间,以实现 公平性、⾼吞吐量、低延迟等 不同的 调度⽬标。
1. 先来先服务调度算法
按照进程到达的先后顺序进⾏调度,即最早到达的进程先执⾏,直到完成或阻塞。
2. 最短作业优先调度算法
优先选择运⾏时间最短的进程来运⾏。
3. ⾼响应⽐优先调度算法
综合考虑等待时间和服务时间的⽐率,选择具有最⾼响应⽐的进程来执⾏。
4. 时间⽚轮转调度算法
将 CPU 时间划分为 时间⽚(时间量) ,每个进程在⼀个时间⽚内运⾏,然后切换到下⼀个进程。
5. 最⾼优先级调度算法
为每个进程分配⼀个优先级, 优先级 较⾼的进程先执⾏。这可能导致低优先级进程⻓时间等待,可能引发饥饿问题。
6. 多级反馈队列调度算法
将进程划分为多个队列,每个队列 具有不同的 优先级,进程在 队列之间 移动。具有更⾼优先级的 队列的 进程会 更早执⾏,⽽ ⻓时间等待的 进程会 被提升到 更⾼优先级队列。
7. 最短剩余时间优先
每次选择 剩余执⾏时间最短的进程 来执⾏。
8. 最⼤吞吐量调度
旨在 最⼤化单位时间内 完成的 进程数量。
9. 最⼤吞吐量调度
旨在 最⼤化单位时间内 完成的 进程数量。