QNX操作系統(tǒng)及網(wǎng)絡(luò)設(shè)備驅(qū)動模塊

時間:2023-05-01 08:40:29 計算機(jī)論文 我要投稿
  • 相關(guān)推薦

QNX操作系統(tǒng)及網(wǎng)絡(luò)設(shè)備驅(qū)動模塊

摘要:介紹嵌入式操作系統(tǒng)QNX的微內(nèi)核結(jié)構(gòu)、基于io-net的網(wǎng)絡(luò)子系統(tǒng)、網(wǎng)絡(luò)設(shè)備驅(qū)動程序的組成;給出以以太網(wǎng)網(wǎng)設(shè)備驅(qū)動程序為例的詳細(xì)說明,包括初始化、從網(wǎng)絡(luò)設(shè)備接收數(shù)據(jù),向網(wǎng)絡(luò)設(shè)備發(fā)送數(shù)據(jù)和網(wǎng)絡(luò)設(shè)備信息的統(tǒng)計。

    關(guān)鍵詞:QNX 網(wǎng)絡(luò) 驅(qū)動程序

QNX是業(yè)界公認(rèn)的X86平臺上最好的嵌入式實時操作系統(tǒng)之一。它具有獨(dú)一無二的微內(nèi)核實時平臺,建立在微內(nèi)核和完全地址空間保護(hù)基礎(chǔ)之上,實時、穩(wěn)定、可靠,已經(jīng)完成到PowerPC、MIPS、ARM等內(nèi)核的移植,成為在國內(nèi)廣泛應(yīng)用的嵌入式實時操作系統(tǒng)。本文簡單介紹QNX內(nèi)核和網(wǎng)絡(luò)結(jié)構(gòu)的特點(diǎn),針對目前熱門的網(wǎng)絡(luò)應(yīng)用環(huán)境,討論QNX網(wǎng)絡(luò)設(shè)備驅(qū)動程序的結(jié)構(gòu)和編寫。

1 QNX內(nèi)核簡介

QNX的微內(nèi)核結(jié)構(gòu)是它區(qū)別于其它操作系統(tǒng)的顯著特點(diǎn)。目前嵌入式系統(tǒng)中,操作系統(tǒng)和應(yīng)用程序之間的關(guān)系大概可以歸納為圖1~圖3所示的三種情況。

平板式內(nèi)存結(jié)構(gòu),如圖1所示,所有的程序都使用同一個地址空間,不加保護(hù);應(yīng)用程序可以自由訪問所有空間,效率較高,但是任何應(yīng)用程序指針錯誤都可能會導(dǎo)致內(nèi)核崩潰。

大內(nèi)核內(nèi)存結(jié)構(gòu),如圖2所示,操作系統(tǒng)內(nèi)核和各種驅(qū)動程序、網(wǎng)絡(luò)協(xié)議在同一個地址空間,應(yīng)用程序在單獨(dú)空間;內(nèi)核模塊同處于一個保護(hù)空間,運(yùn)行效率高,應(yīng)用程序無法直接訪問保護(hù)空間,系統(tǒng)穩(wěn)定性大大提高。缺點(diǎn)是,由于內(nèi)核模塊(例如網(wǎng)絡(luò)驅(qū)動)處于保護(hù)空間,因此調(diào)試?yán)щy,任何驅(qū)動程序的修改都要重新編譯內(nèi)核,無法做到驅(qū)動的動態(tài)加載和卸載。

QNX的微內(nèi)核結(jié)構(gòu),如圖3所示,內(nèi)核獨(dú)立自處于一個被保護(hù)的地址空間;驅(qū)動程序、網(wǎng)絡(luò)協(xié)議和應(yīng)用程序處地程序空間中。

微內(nèi)核結(jié)構(gòu)的優(yōu)點(diǎn):①驅(qū)動程序、網(wǎng)絡(luò)協(xié)議、文件系統(tǒng)等操作系統(tǒng)模塊和內(nèi)核相互獨(dú)立,任何模塊的故障都不會導(dǎo)致內(nèi)核的崩潰;②驅(qū)動程序、網(wǎng)絡(luò)協(xié)議、文件系統(tǒng)和應(yīng)用程序都處于程序空間,都調(diào)用相同的內(nèi)核API,開發(fā)與調(diào)試和應(yīng)用程序沒有區(qū)別;③操作系統(tǒng)功能模塊可以根據(jù)需要動態(tài)地加載或卸載,不需要編譯內(nèi)核。在高可靠性要求的情況下,可以編寫監(jiān)視模塊,對可靠性要求高的模塊進(jìn)行監(jiān)視,必要的時候重新啟動或重新加載而無須重啟系統(tǒng)。高可靠性的內(nèi)核結(jié)構(gòu)使QNX具備了高可靠性嵌入式操作系統(tǒng)的本質(zhì)特征。

在具有高可靠性內(nèi)核的基礎(chǔ)上,QNX的創(chuàng)新設(shè)計使它同樣具有很高的效率。QNX最為引人注目的地方是,它是UNIX的同胞異構(gòu)體,保持了和UNIX的高度相似性,絕大多數(shù)UNIX或LINUX應(yīng)用程序可以在QNX下直接編譯生成。這意味著為數(shù)眾多的穩(wěn)定成熟的UNIX、LINUX應(yīng)用可以直接移植到QNX這個更加穩(wěn)定高效的實時嵌入式平臺上來。

2 QNX網(wǎng)絡(luò)結(jié)構(gòu)

QNZ網(wǎng)絡(luò)子系統(tǒng)由三個部分組成:網(wǎng)絡(luò)

[1] [2] [3] [4] [5] 

【QNX操作系統(tǒng)及網(wǎng)絡(luò)設(shè)備驅(qū)動模塊】相關(guān)文章:

操作系統(tǒng)與模塊支持層隔離機(jī)制的研究04-26

由要素驅(qū)動 走向創(chuàng)新驅(qū)動05-01

模塊接口卡·什么是AIM模塊04-26

模塊接口卡·什么是ISDN網(wǎng)絡(luò)模塊04-26

模塊接口卡·什么是語音傳真模塊04-26

貨車與后輪驅(qū)動05-02

什么是操作系統(tǒng)04-26

什么是操作系統(tǒng)04-26

什么是操作系統(tǒng)04-26

什么是操作系統(tǒng)04-26