資料介紹
從上一章內(nèi)容我們知道,底層設(shè)備驅(qū)動并不直接對用戶可見,還需要經(jīng)過操作系統(tǒng)中間層作為“橋梁”
進行交互。這個操作系統(tǒng)中間層根據(jù)具體的應(yīng)用可能又被分為幾個子層次,我們將從用戶層開始到底層硬
件設(shè)備之間的所有由內(nèi)核提供的中間軟件層稱為內(nèi)核驅(qū)動層次(注意:底層驅(qū)動也是內(nèi)核的一部分)。
為了保持應(yīng)用層用戶程序的平臺無關(guān)性,操作系統(tǒng)為應(yīng)用層提供了一套標(biāo)準(zhǔn)的接口函數(shù),這些接口函
數(shù)在所有的平臺上都保持一致,只是隨著平臺的變化,底層驅(qū)動或接近驅(qū)動部分操作系統(tǒng)中間層可能會隨
著調(diào)整。如此一來,可以使用戶程序脫離平臺,增加了應(yīng)用層開發(fā)的效率,避免了重復(fù)編碼。通用操作系
統(tǒng)下,將這套提供給應(yīng)用層的標(biāo)準(zhǔn)接口函數(shù)從操作系統(tǒng)中獨立出來,專門以標(biāo)準(zhǔn)庫的形式存在,這樣更進
一步增加了應(yīng)用程序的平臺無關(guān)性,平臺之間的差別完全被操作系統(tǒng)屏蔽。
VxWorks 下也對應(yīng)用層提供了一套標(biāo)準(zhǔn)文件操作接口函數(shù),實際上與通用操作系統(tǒng)提供的一致,我們
將其稱作為標(biāo)準(zhǔn) I/O 庫,VxWorks 下由 ioLib.c 文件提供。ioLib.c 文件提供如下標(biāo)準(zhǔn)接口函數(shù):creat、open、
unlink、remove、close、rename、read、write、ioctl、lseek、readv、writev 等。VxWorks 操作系統(tǒng)區(qū)別于通
用操作系統(tǒng)的一個很大的不同點是:VxWorks 下不區(qū)分用戶態(tài)和內(nèi)核態(tài),用戶層程序可以直接對內(nèi)核函數(shù)
進行調(diào)用,而無須使用指令中斷之類的機制或者存在使用權(quán)限上的限制。所以,VxWorks 提供給應(yīng)用層的
接口無須通過外圍庫的方式,而是直接以內(nèi)核文件的形式提供。用戶程序可以直接使用 ioLib.c 文件定義的
如上這些函數(shù),這些函數(shù)名稱與通用操作系統(tǒng)標(biāo)準(zhǔn)庫下的函數(shù)名一致,是 VxWorks 對標(biāo)準(zhǔn)庫的模擬。
由于是 VxWorks 內(nèi)核提供,我們將 ioLib.c 文件中定義的如上這些函數(shù)看做是內(nèi)核的一部分。ioLib.c
文件提供的函數(shù)僅僅是一個最上層的接口,其并不完成具體的用戶請求,而是將請求進一步向其他內(nèi)核模
塊進行傳遞,位于 ioLib.c 模塊之下的模塊就是 iosLib.c。我們將 ioLib.c 文件稱為上層接口子系統(tǒng),將 iosLib.c
文件稱為 I/O 子系統(tǒng),注意二者的區(qū)別。上層接口子系統(tǒng)直接對用戶層可見,而 I/O 子系統(tǒng)則一般不可見
(當(dāng)然用戶也可以直接調(diào)用 iosLib.c 中定義的函數(shù),但一般需要做更多的封裝,且違背了內(nèi)核提供的服務(wù)
層次),其作為上層接口子系統(tǒng)與下層驅(qū)動系統(tǒng)的中間層而存在。如圖 5-1 所示顯示了內(nèi)核驅(qū)動層次。
從圖 5-1 中可以看出,I/O 子系統(tǒng)在整個驅(qū)動層次中起著十分重要的作用,其對下管理著所有類型的
設(shè)備驅(qū)動。換句話說,所有類型(包括網(wǎng)絡(luò)設(shè)備)的設(shè)備都必須向 I/O 子系統(tǒng)進行注冊方可被內(nèi)核訪問。
所以,在 I/O 子系統(tǒng)這一層次,內(nèi)核維護著幾個十分關(guān)鍵的數(shù)組用以對設(shè)備驅(qū)動、設(shè)備本身以及當(dāng)前系統(tǒng)
文件句柄進行管理。

- 區(qū)塊鏈結(jié)構(gòu)層次應(yīng)用和原理綜述 5次下載
- 如何使用Linux內(nèi)核實現(xiàn)USB驅(qū)動程序框架 20次下載
- VxWorks設(shè)備驅(qū)動之字符設(shè)備驅(qū)動詳解 7次下載
- VxWorks中低速串行設(shè)備驅(qū)動的層次化設(shè)計方法 0次下載
- VxWorks下基于多任務(wù)調(diào)度的分析和研究
- VxWorks下網(wǎng)卡驅(qū)動程序的開發(fā)
- VxWorks實時內(nèi)核調(diào)度的研究分析
- 基于Vxworks的PXI板卡驅(qū)動程序開發(fā)
- VxWorks系統(tǒng)CPCI設(shè)備驅(qū)動程序開發(fā)
- 實時系統(tǒng)VxWorks下設(shè)備驅(qū)動程序的編寫
- 實時系統(tǒng)VxWorks下設(shè)備驅(qū)動程序的編寫詳解
- VxWorks設(shè)備驅(qū)動介紹 (詳細(xì)說明)
- VxWorks環(huán)境下串口驅(qū)動程序設(shè)計
- VxWorks下基于多任務(wù)調(diào)度的分析和研究
- VxWorks實時內(nèi)核調(diào)度的研究分析
- 讓復(fù)雜的層次圖更清楚 14次閱讀
- linux內(nèi)核中通用HID觸摸驅(qū)動 3.5k次閱讀
- Linux 驅(qū)動開發(fā)與應(yīng)用開發(fā),你知道多少? 2.2k次閱讀
- Linux內(nèi)核驅(qū)動與單個PCI設(shè)備的綁定和解綁定 2.9k次閱讀
- 計算機網(wǎng)絡(luò)的層次結(jié)構(gòu) 9.8k次閱讀
- 多層次內(nèi)核級復(fù)制技術(shù) 1.3k次閱讀
- Linux內(nèi)核架構(gòu)和工作原理 887次閱讀
- 利用電磁耦合器件實現(xiàn)水下設(shè)備供電的優(yōu)化設(shè)計 3.5k次閱讀
- 基于VxWorks嵌入式實現(xiàn)多串口驅(qū)動的開發(fā)與通信設(shè)計 4.6k次閱讀
- 嵌入式Linux內(nèi)核的驅(qū)動程序開發(fā)是怎樣的 1.9k次閱讀
- Linux內(nèi)核的發(fā)展簡史與系統(tǒng)層次結(jié)構(gòu) 7.8k次閱讀
- 基于嵌入式Linux下的I2C設(shè)備驅(qū)動的總體思路與框架設(shè)計 4.1k次閱讀
- 基于嵌入式Linux內(nèi)核的系統(tǒng)設(shè)備驅(qū)動程序開發(fā)設(shè)計 1.5k次閱讀
- vxworks和linux有什么區(qū)別 3.9w次閱讀
- 利用狀態(tài)機的狀態(tài)機實現(xiàn)層次結(jié)構(gòu)化設(shè)計 3.7k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數(shù)據(jù)手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數(shù)據(jù)手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 3PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 22次下載 | 免費
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論