Linux concurrency - 1.简介
2022/1/24 7:06:08
本文主要是介绍Linux concurrency - 1.简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
kernel本身就是个multithread concurrent的系统。在没有适当条件保证下,存取共享资源很容易发生race condition.共享资源包括周边IO及共享奶给你的数据结构等。可通过适当的synchronization机制提供critical section来保证资源的存取。个人认为kernel里面与concurrency相关的机制大致分为以下几类:
1.architecture support
- barrier
- atomic opreation
2.busy-waiting lock:CPU loop等待直到取得lock.critical section中不允许睡眠。通常用来SMP下保证资料数据结构。有以下几种:
- atomic operation
- spinlock
- reader/writer spinlock
- seqlock
3.lock-free synchronization:通过区分reader与writer的角色以及deffered destruciton来减少lock使用
- rcu
- kfifo
- percpu data
4.blocking synchronization:如果没有拿到lock会进入睡眠。通常用来保证较大的critical section与存取IO相关的机制。可分为以下几种:
- semaphore
- reader/writer semaphore
- mutex
- completion
这篇关于Linux concurrency - 1.简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业
- 2024-03-20Linux运维的第二周总结
- 2024-03-13how to count number of directories in linux