首页 > 系统服务 > 详细

Linux内核设计与实现 总结笔记(第十章)内核同步方法

时间:2019-06-15 23:23:02      阅读:188      评论:0      收藏:0      [点我收藏+]

一、原子操作

 原子操作可以保证指令以原子的方式执行----执行过程不被打断。

1.1 原子整数操作

针对整数的原子操作只能对atomic_t类型的数据进行处理。

  • 首先,让原子函数只接收atomic_t类型的操作数,可以确保原子操作只与这种特殊类型数据一起使用,并且不会被其他人使用。
  • 使用atomic_t类型确保编译器不对,相应的值进行访问优化。
  • 在不同体系结构上实现原子操作的时候,使用atomic_t可以屏蔽其间的差异

atomic_t类型定义在文件<linux/types.h> 中

typedef struct {
    volatile int counter;
} atomic_t;

 

二、自旋锁

 

三、读--写自旋锁

 

四、信号量

 

五、读--写信号量

 

六、互斥体

 

七、完成变量

 

八、BLK:大内核锁

 

九、顺序锁

 

十、禁止抢占

 

十一、顺序和屏障

 

Linux内核设计与实现 总结笔记(第十章)内核同步方法

原文:https://www.cnblogs.com/ch122633/p/11029008.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!