上交os lec8 同步原语

[复制链接]
发表于 2022-8-13 00:11:58 | 显示全部楼层 |阅读模式
8.1 临界区问题


  • os提供同步原语,防止共享资源的竞争错误
  • 解决临界区问题三个要求,互斥访问,优先等待,空闲让进
8.2 互斥锁的软件实现与硬件实现


  • 皮特森算法
  • 关中断只能够解决单个CPU核上的临界区问题,但是多核不行
  • 互斥锁还可以实现同步互斥访问intel通过锁总线实现原子的CAS对于任意地址的修改都要经过总线,通过锁总线来实现原子操作
  • arm使用LL/SC实现原子操作
  • FAA获取并增加也可是一种硬件实现锁的方式
  • 自旋锁
  • 排号锁用FAA实现排号锁
  • 排号锁和spinlock都是mutex的
8.3 读写锁


  • 读写锁
  • 读写锁的偏向性也就是读者优先还是写者优先
  • 读者优先
8.4 Read Copy Updat e

<ul>如何提高读者的效率,使用RCU读者要么看到旧的值,要么看到新的值硬件的原子操作最多只能128bit
由于硬件的原子操作最多只能128bit,那么可以通过修改指针的操作来修改一块内存区域,现在不用加
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-23 08:12 , Processed in 0.083048 second(s), 30 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表