
linux 同步机制
剥丝机器人
这个作者很懒,什么都没留下…
展开
-
RCU
一、 引言众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中得到了广泛的使用。但是随着计算机硬件的快速发展,获得这种锁的开销相对于CPU的速度在成倍地增加,原因很简单,CPU的速度与访问内存的速度差距越来越大,而这种锁使用了原子操作指令,它需要原子地访问内存,转载 2012-11-29 11:23:20 · 6860 阅读 · 0 评论 -
Linux 内核的同步机制,第 1 部分 + 第二部分
一、 引言在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。在主流的Linux内核中包含了几乎所有现代的操作系统具有的同步机制,这些同步机制包括:原子操作、信号量(semaphore)、读写信号量(rw_sema转载 2013-07-07 19:13:04 · 1091 阅读 · 0 评论 -
spin_lock
0 前言 之前转载过一篇阐述spin_lock的博文,但始终理解不深入,记忆不深刻。今天,花了半天阅读完LDD3的相关章节,有种顿悟的感觉,遂简要记下自己的理解。Btw,LDD3真心是字字珠玑,没有半句废话,而且从这边书可以看出外国人写书非常注重前后的呼应,而国内大多数书都是就事论事,没有体系的感觉,也难以启发人深入思考。(一不小心又吐嘈了一遍,罪过罪过……)另外,关于LD转载 2018-01-12 18:26:55 · 315 阅读 · 0 评论 -
linux 中信号量 down_interruptible 和 down操作
部分同学 对信号量和信号两概念模糊不清,所以 首先描述一下 信号量和信号的区别:信号量是进程间防止并发和竞争条件的一种同步机制,其根本可以简单的理解成 对flag的增减操作,跟自旋锁类属同一概念。信号是进程之间相互传递消息的一种方法,信号全称为软中断信号,可以称为软中断,它是进程控制的一部分,比如ctrl + c ,就会对当前进程发送停止的中断信号。 down_interruptible 和...转载 2018-05-25 14:18:41 · 3279 阅读 · 0 评论 -
原子操作函数原型
原子操作仅执行一次,在执行过程中不会中断也不会休眠;是最小的执行单元;鉴于原子操作这些特性,可以利用它来解决竞态问题。 往后其他同步机制都是在原子操作的基础上进行扩展的。 原子操作有整型原子操作、64位原子操作以及位原子操作。1 整型原子操作(Atomic Integer Operations) 要使用原子操作,需要定义一个原子变量,然后使用内核提供的接口对其进行原子操作。 整型原子变量结构如下...转载 2018-05-25 14:29:11 · 924 阅读 · 0 评论 -
全面解析Linux内核的同步与互斥机制--同步篇
【摘要】本文分析了内核的同步及互斥的几种机制:原子运算符(atomic operator)、自旋锁Spinlock、等待队列Waitqueue、事件Event、completion、信号量Semaphore及其优化版互斥锁,详细分析了其实现流程。Event及Semaphore本质上都是基于Waitqueue和自旋锁实现的。本文还探讨了每种机制最适合应用到哪些地方,以及如何构建安全高效的内核及驱动代...转载 2018-05-24 14:07:32 · 825 阅读 · 0 评论 -
理解 Memory barrier(内存屏障)
转自:https://blog.youkuaiyun.com/world_hello_100/article/details/50131497参考文献列表:http://en.wikipedia.org/wiki/Memory_barrierhttp://en.wikipedia.org/wiki/Out-of-order_executionhttps://www.kernel.org/doc/Documen...转载 2018-05-24 17:30:57 · 806 阅读 · 0 评论 -
signal_pending函数解析
经常我们在睡眠的代码中 会看到这样的例子: if (signal_pending(current)) { ret = -ERESTARTSYS; return ret; } 关于 -ERESTARTSYS 到底是什么意思? -ERESTARTSYS表示信号函数处理完毕后重新执行信号函数前的某个系统调用.也就是说,如果信号函数前有发生系统调用,在调度用户...转载 2018-06-25 10:14:06 · 1731 阅读 · 0 评论