資料介紹
從上一章內(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ū)動程序框架 19次下載
- 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)度的研究分析
- Linux 驅(qū)動開發(fā)與應(yīng)用開發(fā),你知道多少? 119次閱讀
- Linux內(nèi)核驅(qū)動與單個PCI設(shè)備的綁定和解綁定 1299次閱讀
- 計算機網(wǎng)絡(luò)的層次結(jié)構(gòu) 7323次閱讀
- 多層次內(nèi)核級復(fù)制技術(shù) 528次閱讀
- Linux內(nèi)核架構(gòu)和工作原理 561次閱讀
- 利用電磁耦合器件實現(xiàn)水下設(shè)備供電的優(yōu)化設(shè)計 2303次閱讀
- 基于VxWorks嵌入式實現(xiàn)多串口驅(qū)動的開發(fā)與通信設(shè)計 3426次閱讀
- 嵌入式Linux內(nèi)核的驅(qū)動程序開發(fā)是怎樣的 1415次閱讀
- Linux內(nèi)核的發(fā)展簡史與系統(tǒng)層次結(jié)構(gòu) 7204次閱讀
- 基于嵌入式Linux下的I2C設(shè)備驅(qū)動的總體思路與框架設(shè)計 3671次閱讀
- 基于嵌入式Linux內(nèi)核的系統(tǒng)設(shè)備驅(qū)動程序開發(fā)設(shè)計 1113次閱讀
- 可動態(tài)安裝的Linux設(shè)備驅(qū)動程序 957次閱讀
- vxworks和linux有什么區(qū)別 3.8w次閱讀
- 基于FPGA嵌入式系統(tǒng)的設(shè)備驅(qū)動開發(fā) 2259次閱讀
- 利用狀態(tài)機的狀態(tài)機實現(xiàn)層次結(jié)構(gòu)化設(shè)計 3248次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多