上交os lec8 同步原语

种地  论坛元老 | 2022-8-13 00:11:58 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1094|帖子 1094|积分 3282

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,那么可以通过修改指针的操作来修改一块内存区域,现在不用加
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表