91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>LINUX內(nèi)核有那幾種鎖詳細(xì)介紹

LINUX內(nèi)核有那幾種鎖詳細(xì)介紹

2020-11-17 | rar | 0.01 MB | 次下載 | 免費(fèi)

資料介紹

  Mutex 是一把鑰匙,一個人拿了就可進(jìn)入一個房間,出來的時候把鑰匙交給隊列的第一個。一般的用法是用于串行化對critical section 代碼的訪問,保證這段代碼不會被并行的運(yùn)行。

  Semaphore是一件可以容納N人的房間,如果人不滿就可以進(jìn)去,如果人滿了,就要等待有人出來。對于N=1的情況,稱為binary semaphore。一般的用法是,用于限制對于某一資源的同時訪問。

  Binary semaphore與Mutex 的差異:

  在有的系統(tǒng)中Binary semaphore與Mutex 是沒有差異的。在有的系統(tǒng)上,主要的差異是mutex 一定要由獲得鎖的進(jìn)程來釋放。而semaphore可以由其它進(jìn)程釋放(這時的semaphore實際就是個原子的變量, 大家可以加或減),因此semaphore可以用于進(jìn)程間同步。Semaphore的同步功能是所有系統(tǒng)都支持的,而Mutex 能否由其他進(jìn)程釋放則未定,因此建議mutex 只用于保護(hù)critical section 。而semaphore則用于保護(hù)某變量,或者同步。

  另一個概念是spin lock ,這是一個內(nèi)核態(tài)概念。spin lock 與semaphore的主要區(qū)別是spin lock 是busy waiting ,而semaphore是sleep 。對于可以sleep的進(jìn)程來說, busy waiting 當(dāng)然沒有意義。對于單CPU的系統(tǒng), busy waiting當(dāng)然更沒意義(沒有CPU可以釋放鎖) 。因此,只有多CPU的內(nèi)核態(tài)非進(jìn)程空間,才會用到spin lock 。Linux kernel 的spin lock 在非SMP的情況下,只是關(guān)irq ,沒有別的操作,用于確保該段程序的運(yùn)行不會被打斷。其實也就是類似mutex 的作用,串行化對critical section 的訪問。但是mutex 不能保護(hù)中斷的打斷,也不能在中斷處理程序中被調(diào)用。而spin lock 也一般沒有必要用于可以sleep 的進(jìn)程空間。

?

  ---------------------------------------------------------------------

  ------------------------

  內(nèi)核同步措施

  為了避免并發(fā),防止競爭。內(nèi)核提供了一組同步方法來提供對共享數(shù)據(jù)的保護(hù)。我們的重點不是介紹這些方法的詳細(xì)用法, 而是強(qiáng)調(diào)為什么使用這些方法和它們之間的差別。

  Linux 使用的同步機(jī)制可以說從2.0 到2.6 以來不斷發(fā)展完善。從最初的原子操作, 到后來的信號量, 從大內(nèi)核鎖到今天的自旋鎖。這些同步機(jī)制的發(fā)展伴隨Linux 從單處理器到對稱多處理器的過度;伴隨著從非搶占內(nèi)核到搶占內(nèi)核的過度。鎖機(jī)制越來越有效,也越來越復(fù)雜。

  目前來說內(nèi)核中原子操作多用來做計數(shù)使用,其它情況最常用的是兩種鎖以及它們的變種: 一個是自旋鎖,另一個是信號量。我們下面就來著重介紹一下這兩種鎖機(jī)制。

處理器 內(nèi)核 Linux
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)