In [1]:
from mosaic import *
OS2023(6)

6. 并发控制基础¶

Changelog & 反馈

  • L0 & M1 都已经发布
    • 框架代码存在缺陷,请 3.7 18:00 前下载框架代码的同学重新下载
    • 校外无法访问 git.nju.edu.cn 是暂时的 (优先保证上课同学的体验)
  • 增加了 🌶️ 的标记 (扩展内容)
  • 修复了 lecture notes 的 bugs
  • 其他内容会慢慢实现/修复 😂

背景回顾:虽然 “线程库” 入门简单,但多处理器编程 + 编译优化会给我们带来很多意想不到的惊喜。在编写多线程程序时,们必须放弃许多对顺序程序编程时的基本假设,这也是并发编程困难的原因。

本讲内容:并发编程困难不代表我们只能摆烂——我们还可以创造出新的手段,帮助我们编写正确的并发程序:

  • 互斥问题和 Peterson 算法
  • Peterson 算法的正确性和模型检验
  • Peterson 算法在现代多处理器系统上的实现
  • 实现并发控制的硬件和编译器机制
In [2]:
slideshow('6.1')
In [3]:
model('m/spin.py', check=True)