Appearance
多处理机调度
考情分析
多处理机调度在 408 真题中考查很少,属于 🔥 低频考点,了解基本概念即可。
前面讨论的调度算法都假设只有一个 CPU。但现在连手机都有多核了,多个 CPU 之间怎么分配进程、怎么避免"一核有难八核围观"?
对称多处理(SMP)
SMP(Symmetric Multi-Processing):多个处理器地位对等,每个处理器都可以运行操作系统和用户进程。
与非对称多处理(一个主处理器负责调度,其他只执行)相比,SMP 更主流。
多处理机调度的关键问题
处理器亲和性
处理器亲和性(Processor Affinity):倾向于让进程在之前运行过的处理器上继续运行。就像你在一家咖啡店待了一下午,桌上摊满了资料,换到隔壁店等于从头收拾一遍——Cache 里积累的数据就是那些"摊开的资料"。
原因:处理器的 Cache 中可能保留了该进程的数据,迁移到其他处理器会导致 Cache 失效。
| 类型 | 说明 |
|---|---|
| 软亲和性 | 尽量但不保证在同一处理器上运行 |
| 硬亲和性 | 强制绑定到指定处理器 |
负载均衡
确保各处理器的工作负载大致均衡,避免一些处理器忙碌而其他空闲。
| 方式 | 说明 |
|---|---|
| Push 迁移 | 定期检查负载,将进程从忙的处理器推到闲的 |
| Pull 迁移 | 空闲处理器主动从忙的处理器拉取进程 |
调度队列组织
| 方式 | 说明 | 优缺点 |
|---|---|---|
| 全局队列 | 所有处理器共享一个就绪队列 | 自动负载均衡,但队列访问需要互斥 |
| 每处理器队列 | 每个处理器有自己的就绪队列 | 无互斥开销,但需要负载均衡机制 |
考研高频考点
- 🔥 SMP 的概念(对称多处理)
- 🔥 处理器亲和性的原因(Cache 利用率)
调度决定了"谁来用 CPU",但从一个进程切到另一个进程的那一刻具体发生了什么?下一篇看上下文切换的细节。