QEQuantumEinsteinSearchCtrl/⌘K

第十章 多处理机操作系统

2 分钟阅读77013 个小节
返回目录

第十章 多处理机操作系统

10.1 多处理机系统类型

类型耦合度通信延迟特点
紧密耦合共享存储器10~50nsSMP/ASMP
松散耦合各自OS,通过通信链路连接10~50ms分布式

UMA结构(4种)

结构CPU数特点
单总线4~20可加高速缓存
多总线16~32私有存储器
单级交叉开关8~16N²交叉点
多级交换网络<100分散流量

NUMA

  • 多节点,3层存储:本地→群内共享→全局共享
  • CC-NUMA:高速缓存+目录表保证一致性
  • 主要问题:远程访问时延

10.2 多处理机OS类型

类型特点优缺点
主从式一个主处理机负责管理简单但资源利用率低/主机瓶颈
独立监督式每个处理机有自己的OS自主可靠但复杂/负载不均
浮动监督式管理功能可在处理机间浮动最灵活/最可靠/负载均衡,实现复杂

10.3 多处理机调度(2025新增重点⭐)

多处理机调度策略(2025新增)⭐

策略描述优点缺点
全局队列调度OS维护一个公共就绪队列负载均衡最好随着CPU增多,临界区锁竞争加剧
私有队列调度每个CPU维护私有就绪队列亲和性(Affinity) 好,Cache命中率高可能导致负载不均,需迁移机制

调度对应关系

  • 单处理机调度:解决“何时执行”
  • 多处理机调度:解决“何时执行” + “在哪执行”

调度策略算法

  1. 负载分配(Load Sharing):通过推/拉机制在私有队列间平衡负载。
  2. 群组调度(Gang Scheduling):将一个进程的所有相关线程同时调度到一组CPU上并行运行。
    • 目的:减少同步阻塞(避免“互相等的线程没在运行”)。
  3. 专用处理器分配:某个应用长期独占一组CPU(适用于科学计算)。

10.4 多处理机上的进程同步

自旋锁⭐

  • 适用于多处理机的互斥机制
  • 循环测试锁变量(忙等),不阻塞不切换
  • vs 信号量:自旋锁避免了阻塞和进程切换开销,适用于短临界区
  • 实现:总线设锁变量,循环Test-and-Set

🎯 本章真题锚点与最短模板

  • 高频题号(2009-2025):近年独立命题少;与新增考纲“多处理机调度”强相关(2025起新增)
  • 优质例题:对比SMP中“公共就绪队列”与“私有就绪队列”的优缺点,判断何时需要负载均衡迁移。
  • 最短解题模板
    1. 先判系统模型:ASMP 还是 SMP。
    2. 再判调度策略:亲和性优先还是吞吐优先。
    3. 结论用三词:可扩展性、均衡性、迁移开销。

⚡ 秒杀版口令卡(10秒回忆)

  • 口令:SMP看均衡,ASMP看主控。
  • 口令:自旋锁短临界区,信号量长临界区。
  • 口令:亲和性提局部性,迁移有代价。