資料介紹
從上一章內(nèi)容我們知道,底層設備驅動并不直接對用戶可見,還需要經(jīng)過操作系統(tǒng)中間層作為“橋梁”
進行交互。這個操作系統(tǒng)中間層根據(jù)具體的應用可能又被分為幾個子層次,我們將從用戶層開始到底層硬
件設備之間的所有由內(nèi)核提供的中間軟件層稱為內(nèi)核驅動層次(注意:底層驅動也是內(nèi)核的一部分)。
為了保持應用層用戶程序的平臺無關性,操作系統(tǒng)為應用層提供了一套標準的接口函數(shù),這些接口函
數(shù)在所有的平臺上都保持一致,只是隨著平臺的變化,底層驅動或接近驅動部分操作系統(tǒng)中間層可能會隨
著調(diào)整。如此一來,可以使用戶程序脫離平臺,增加了應用層開發(fā)的效率,避免了重復編碼。通用操作系
統(tǒng)下,將這套提供給應用層的標準接口函數(shù)從操作系統(tǒng)中獨立出來,專門以標準庫的形式存在,這樣更進
一步增加了應用程序的平臺無關性,平臺之間的差別完全被操作系統(tǒng)屏蔽。
VxWorks 下也對應用層提供了一套標準文件操作接口函數(shù),實際上與通用操作系統(tǒng)提供的一致,我們
將其稱作為標準 I/O 庫,VxWorks 下由 ioLib.c 文件提供。ioLib.c 文件提供如下標準接口函數(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)用,而無須使用指令中斷之類的機制或者存在使用權限上的限制。所以,VxWorks 提供給應用層的
接口無須通過外圍庫的方式,而是直接以內(nèi)核文件的形式提供。用戶程序可以直接使用 ioLib.c 文件定義的
如上這些函數(shù),這些函數(shù)名稱與通用操作系統(tǒng)標準庫下的函數(shù)名一致,是 VxWorks 對標準庫的模擬。
由于是 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)則一般不可見
?。ó斎挥脩粢部梢灾苯诱{(diào)用 iosLib.c 中定義的函數(shù),但一般需要做更多的封裝,且違背了內(nèi)核提供的服務
層次),其作為上層接口子系統(tǒng)與下層驅動系統(tǒng)的中間層而存在。如圖 5-1 所示顯示了內(nèi)核驅動層次。
從圖 5-1 中可以看出,I/O 子系統(tǒng)在整個驅動層次中起著十分重要的作用,其對下管理著所有類型的
設備驅動。換句話說,所有類型(包括網(wǎng)絡設備)的設備都必須向 I/O 子系統(tǒng)進行注冊方可被內(nèi)核訪問。
所以,在 I/O 子系統(tǒng)這一層次,內(nèi)核維護著幾個十分關鍵的數(shù)組用以對設備驅動、設備本身以及當前系統(tǒng)
文件句柄進行管理。
- 區(qū)塊鏈結構層次應用和原理綜述 5次下載
- 如何使用Linux內(nèi)核實現(xiàn)USB驅動程序框架 19次下載
- VxWorks設備驅動之字符設備驅動詳解 7次下載
- VxWorks中低速串行設備驅動的層次化設計方法 0次下載
- VxWorks下基于多任務調(diào)度的分析和研究
- VxWorks下網(wǎng)卡驅動程序的開發(fā)
- VxWorks實時內(nèi)核調(diào)度的研究分析
- 基于Vxworks的PXI板卡驅動程序開發(fā)
- VxWorks系統(tǒng)CPCI設備驅動程序開發(fā)
- 實時系統(tǒng)VxWorks下設備驅動程序的編寫
- 實時系統(tǒng)VxWorks下設備驅動程序的編寫詳解
- VxWorks設備驅動介紹 (詳細說明)
- VxWorks環(huán)境下串口驅動程序設計
- VxWorks下基于多任務調(diào)度的分析和研究
- VxWorks實時內(nèi)核調(diào)度的研究分析
- Linux 驅動開發(fā)與應用開發(fā),你知道多少? 119次閱讀
- Linux內(nèi)核驅動與單個PCI設備的綁定和解綁定 1299次閱讀
- 計算機網(wǎng)絡的層次結構 7323次閱讀
- 多層次內(nèi)核級復制技術 528次閱讀
- Linux內(nèi)核架構和工作原理 561次閱讀
- 利用電磁耦合器件實現(xiàn)水下設備供電的優(yōu)化設計 2303次閱讀
- 基于VxWorks嵌入式實現(xiàn)多串口驅動的開發(fā)與通信設計 3426次閱讀
- 嵌入式Linux內(nèi)核的驅動程序開發(fā)是怎樣的 1415次閱讀
- Linux內(nèi)核的發(fā)展簡史與系統(tǒng)層次結構 7204次閱讀
- 基于嵌入式Linux下的I2C設備驅動的總體思路與框架設計 3671次閱讀
- 基于嵌入式Linux內(nèi)核的系統(tǒng)設備驅動程序開發(fā)設計 1113次閱讀
- 可動態(tài)安裝的Linux設備驅動程序 957次閱讀
- vxworks和linux有什么區(qū)別 3.8w次閱讀
- 基于FPGA嵌入式系統(tǒng)的設備驅動開發(fā) 2259次閱讀
- 利用狀態(tài)機的狀態(tài)機實現(xiàn)層次結構化設計 3248次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設計
- 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集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 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十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多