Linux驱动学习笔记之并发控制
生活随笔
收集整理的這篇文章主要介紹了
Linux驱动学习笔记之并发控制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux 設備驅動中必須解決的一個問題是多個進程對共享資源的并發訪問,并發訪問會導致競態。
并發(concurrency)指的是多個執行單元同時、并行被執行,而并發的執行單元對共享資源(硬件資源和軟件上的全局變量、靜態變量等)的訪問則很容易導致競態
(race conditions)。
并發和競爭發生在兩類體系中:
1.???????對稱多處理器(SMP)的多個CPU
2.???????內核可搶占的單CPU系統
3.中斷(硬中斷、軟中斷、Tasklet、底半部)與進程之間解決競態問題的途徑是保證對共享資源的互斥訪問,所謂互斥訪問是指一個執行單元在訪問共享資源的時候,其他的執行單元被禁止訪問。
訪問共享資源的代碼區域稱為臨界區(critical sections),臨界區需要以某種互斥機制加以保護。中斷屏蔽、原子操作、自旋鎖和信號量等是 Linux 設備驅動中可采用
的互斥途徑。
// 待補充
總結
以上是生活随笔為你收集整理的Linux驱动学习笔记之并发控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Linux设备驱动程序》学习2—高级字
- 下一篇: backlight misc驱动范例 及