Linux并发与同步
文章平均质量分 88
小而
这个作者很懒,什么都没留下…
展开
-
Linux并发与同步(一)原子操作/spinlock/mutex
背景在linux内核和驱动代码中,需要对共享数据进行保护,防止共度资源被并发访问而发生数据覆盖,被访问数据不一致的情况.这些情况可能会造成系统不稳定,且很难跟踪调试.临界区: 访问和操作共享数据的代码段.临界资源: 共享的数据(静态局部变量,全局变量,buffer, 链表等).并发源:访问临界区的线程或执行路径.内核4种并发源:中断和异常 软中断和taskelt内核抢占多处理器并发执原创 2017-09-23 23:44:43 · 1167 阅读 · 0 评论 -
Linux并发与同步(二)RCU
概述RCU是Read-Copy-Update的缩写。于linux2.5版本开发期间加入并顺利被社区接纳。现在广泛应用于指针及内核链表的保护。RCU相对其它并发访问保护的锁,具体更好的性能,因为严格意义上来说,RCU并不是一个锁。但RCU对内存是有一定的开销的。为何需要RCU性能问题,无需获得锁,性能更好。读写线程可并发执行。RCU使用接口rcu_read_lock() //RCU读临界区开始原创 2017-10-15 15:43:01 · 735 阅读 · 0 评论