資料介紹
為了同步對(duì)內(nèi)核共享資源的訪問(wèn),內(nèi)核提供了down函數(shù)和up函數(shù)用于獲取和釋放資源。down和叩所保護(hù)的訪問(wèn)資源的內(nèi)核代碼區(qū)域,就構(gòu)成一個(gè)臨界區(qū)。在等待獲取資源進(jìn)入臨界區(qū)的過(guò)程中,代表進(jìn)程運(yùn)行的內(nèi)核控制路徑可以睡眠。我們從 LINUX內(nèi)核信號(hào)量最直觀的設(shè)計(jì)/實(shí)現(xiàn)出發(fā),通過(guò)一步步改進(jìn),揭示在x86平臺(tái)上完整的信號(hào)量設(shè)計(jì)/實(shí)現(xiàn),然后探討在不同平臺(tái)上通用的信號(hào)量設(shè)計(jì)/實(shí)現(xiàn)。
LINUX內(nèi)核信號(hào)量的初步設(shè)計(jì)與實(shí)現(xiàn)
1數(shù)據(jù)結(jié)構(gòu)我們首先分析信號(hào)量 semphore應(yīng)具備的數(shù)據(jù)結(jié)構(gòu)。它需要一個(gè)計(jì)數(shù) count,表示能進(jìn)入臨界區(qū)的進(jìn)程個(gè)數(shù)。 conut一般初始化為1,表示信號(hào)量是互斥信號(hào)量,一次只允許一個(gè)進(jìn)程進(jìn)入臨界區(qū)。它也能被初始化為其他正值,表示可有多個(gè)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。當(dāng)進(jìn)程不能進(jìn)入臨界區(qū)時(shí),它必須在信號(hào)量上睡眠,因此需要一個(gè)表示“等待隊(duì)列頭的字段wait。在SMP中,等待隊(duì)列需要自旋鎖來(lái)保護(hù),因此wait結(jié)構(gòu)中應(yīng)含有自旋鎖lock,和指向等待隊(duì)列鏈表的指針 task list。而插入等待隊(duì)列的“等待元素”,其字段中應(yīng)含有指向進(jìn)程結(jié)構(gòu)的指針task,及能夠鏈入等待隊(duì)列的指針 task list
- 在Arduino IDE中使用FreeRTOS信號(hào)量
- 開(kāi)源硬件信號(hào)量在行動(dòng)
- FreeRTOS系列第20篇---FreeRTOS信號(hào)量API函數(shù)
- FreeRTOS高級(jí)篇6---FreeRTOS信號(hào)量分析
- ThreadX(六)------信號(hào)量semaphore
- FreeRTOS 隊(duì)列 信號(hào)量 互斥量
- FreeRTOS信號(hào)量 & ESP32實(shí)戰(zhàn)
- LINUX內(nèi)核的信號(hào)量設(shè)計(jì)與實(shí)現(xiàn) 5次下載
- uCOS信號(hào)量源碼的詳細(xì)資料分析 7次下載
- UCOS擴(kuò)展例程-UCOSIII使用信號(hào)量訪問(wèn)共享資源區(qū) 19次下載
- UCOS擴(kuò)展例程-UCOSIII任務(wù)內(nèi)嵌信號(hào)量 17次下載
- UCOS擴(kuò)展例程-UCOSIII互斥信號(hào)量 27次下載
- UCOS擴(kuò)展例程-UCOSIII使用信號(hào)量進(jìn)行任務(wù)同步 24次下載
- Linux操作系統(tǒng)信號(hào)量機(jī)制的實(shí)時(shí)化改造 18次下載
- 如何用VxWorks的信號(hào)量機(jī)制實(shí)現(xiàn)任務(wù)同步
- Linux內(nèi)核中信號(hào)的傳遞過(guò)程 1233次閱讀
- 信號(hào)量實(shí)現(xiàn)原理介紹 1263次閱讀
- FreeRTOS信號(hào)量的使用與實(shí)例 2697次閱讀
- Free RTOS的互斥信號(hào)量 1218次閱讀
- Free RTOS的計(jì)數(shù)型信號(hào)量 1053次閱讀
- FreeRTOS的二值信號(hào)量 1529次閱讀
- freeRTOS中最常用到的信號(hào)量有哪些 2233次閱讀
- FreeRTOS信號(hào)量使用教程 3266次閱讀
- Linux內(nèi)核系統(tǒng)調(diào)用概述及實(shí)現(xiàn)原理 2244次閱讀
- linux內(nèi)核中對(duì)信號(hào)量的DOWN操作方式 2804次閱讀
- 淺談鴻蒙內(nèi)核源碼的信號(hào)量運(yùn)作原理 1553次閱讀
- 嵌入式μC/OS-II系統(tǒng)中基于ECB基本存儲(chǔ)單元實(shí)現(xiàn)信號(hào)量管理的設(shè)計(jì) 1380次閱讀
- Linux內(nèi)核與Android的關(guān)系 4606次閱讀
- 簡(jiǎn)單介紹信號(hào)與信號(hào)量 9683次閱讀
- Linux內(nèi)核地址映射模型與Linux內(nèi)核高端內(nèi)存詳解 3474次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論