日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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 是一把鑰匙,一個(gè)人拿了就可進(jìn)入一個(gè)房間,出來的時(shí)候把鑰匙交給隊(duì)列的第一個(gè)。一般的用法是用于串行化對(duì)critical section 代碼的訪問,保證這段代碼不會(huì)被并行的運(yùn)行。

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

  Binary semaphore與Mutex 的差異:

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

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

?

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

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

  內(nèi)核同步措施

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  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è)計(jì)實(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電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  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é)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
鄂托克旗| 额敏县| 阿拉善盟| 沈阳市| 前郭尔| 简阳市| 临西县| 宜宾市| 凉山| 武宁县| 峨眉山市| 阿克陶县| 东兰县| 原平市| 托里县| 合阳县| 呼和浩特市| 新津县| 巴中市| 德州市| 灵璧县| 台安县| 铜梁县| 武平县| 克拉玛依市| 通城县| 准格尔旗| 易门县| 东至县| 宁南县| 曲沃县| 嘉荫县| 会泽县| 阜阳市| 浦县| 尼勒克县| 习水县| 阳高县| 安化县| 盱眙县| 阿坝|