- 相關(guān)推薦
Windows2000設(shè)備驅(qū)動程序的研制開發(fā)
引言:
由于工作關(guān)系,我經(jīng)常涉及PC機(jī)與外圍設(shè)備接口的工作,從PC機(jī)這方面要做的工作看來,主要是通過接口處理外圍設(shè)備的中斷,通過I/O端口或內(nèi)存地址與外設(shè)互相傳遞數(shù)據(jù)。從計(jì)算機(jī)原理的角度看,所要達(dá)到的目的很簡單,那么如何編寫程序完成上述功能呢?
目前國內(nèi)流行的PC操作系統(tǒng)有三種:DOS,Win95/98系列,WindowsNT。DOS是單用戶、單任務(wù)操作系統(tǒng),由于PC機(jī)硬件處理速度不斷提高,基于單用戶、單任務(wù)的操作系統(tǒng)越來越不能充分發(fā)揮硬件的功能,現(xiàn)在只應(yīng)用于一些老式PC及其它個別場合,有逐漸被淘汰的趨勢;Win95/98系列和WindowsNT屬于多任務(wù)操作系統(tǒng),不論從其原理還是界面上看,這兩種操作系統(tǒng)都比DOS有著無可比擬的優(yōu)越性,這兩種操作系統(tǒng)雖然在界面和操作上及其相似,但其內(nèi)部實(shí)現(xiàn)的諸多方面有許多區(qū)別,有些區(qū)別是本質(zhì)上的。Win95/98設(shè)計(jì)目標(biāo)是針對一般家庭用戶,安全性及可靠性存在許多薄弱環(huán)節(jié),就可靠性而言,Win95/98系列不能很好的防止多任務(wù)環(huán)境中某個進(jìn)程的非法操作導(dǎo)致系統(tǒng)中其它程序甚至整個系統(tǒng)的崩潰,而WindowsNT在這方面及其它諸多方面設(shè)計(jì)的相當(dāng)嚴(yán)謹(jǐn)。這兩種操作系統(tǒng)是Microsoft公司同一時(shí)期的產(chǎn)品,但針對不同的使用群,所以在一些重要場合及生產(chǎn)實(shí)踐中應(yīng)該選擇WindowsNT作為計(jì)算機(jī)的操作系統(tǒng),此外,從發(fā)展趨勢來看,WindowsNT已經(jīng)成為定型產(chǎn)品,具有相對穩(wěn)定性。
在不同操作系統(tǒng)下編寫驅(qū)動程序是有很大區(qū)別的,在DOS平臺上,應(yīng)用程序和設(shè)備驅(qū)動程序之間沒有標(biāo)準(zhǔn)的接口,它們在外部表現(xiàn)為一個擴(kuò)展名為EXE的文件,驅(qū)動程序的作用被柔和在應(yīng)用程序中,這樣,應(yīng)用程序?yàn)榱耸褂貌煌瑥S商的同一類設(shè)備,必須了解這些設(shè)備在接口上具體的硬件實(shí)現(xiàn),同時(shí),對于一個特定型號的硬件產(chǎn)品,所有支持它的應(yīng)用軟件中對于控制整個設(shè)備動作的這部分代碼,可能被多次重寫。這種情況不適應(yīng)硬件及應(yīng)用軟件的飛速發(fā)展。Windows系統(tǒng)在這方面,進(jìn)行了根本性改進(jìn),把控制設(shè)備動作的這部分代碼獨(dú)立出來,提出了設(shè)備驅(qū)動程序的概念,驅(qū)動程序是應(yīng)用程序和硬件設(shè)備之間的一個橋梁,應(yīng)用程序與驅(qū)動程序之間有明確的接口,應(yīng)用程序通過與驅(qū)動程序交換信息,達(dá)到控制外設(shè)的目的。接口定義的操作是面向設(shè)備的,這就是說,在應(yīng)用程序的設(shè)計(jì)中,并不用關(guān)心對外設(shè)操作的具體硬件實(shí)現(xiàn),只是對驅(qū)動程序發(fā)出一系列指令既可;驅(qū)動程序接受來自上層應(yīng)用程序的指示,具體操縱實(shí)際硬件,完成用戶功能。具體實(shí)現(xiàn)上,Win95/98系列與WindowsNT又有所區(qū)別,WindowsNT是嚴(yán)格按照上述思路設(shè)計(jì)的;而Win95/98系列不那么嚴(yán)格,其支持上述思路,但同時(shí)應(yīng)用程序也可以繞過驅(qū)動程序直接訪問實(shí)際物理I/O,這樣做,增加程序設(shè)計(jì)的靈活性,但同時(shí),對系統(tǒng)可靠性造成一定隱患。這也正是Win95/98系列可靠性低于WinNT的原因之一。
表1-1 三種操作系統(tǒng)下訪問接口比較
操作系統(tǒng)應(yīng)用程序訪問接口方式訪問權(quán)限D(zhuǎn)OS直接訪問所有[注]Windows95/98通過設(shè)備驅(qū)動程序*.VXD所有[注]直接訪問僅I/O端口WindowsNT[1] [2] [3] [4] [5]
【W(wǎng)indows設(shè)備驅(qū)動程序的研制開發(fā)】相關(guān)文章:
基于Windows 2000的多路話音采集壓縮卡驅(qū)動程序設(shè)計(jì)05-02
Windows驅(qū)動查詢工具解決設(shè)備疑問09-21
WINDOWS XP教案04-25
安裝Windows或啟動Windows時(shí)鼠標(biāo)不可用06-20
飛機(jī)事故逃逸救生系統(tǒng)的研制開發(fā)04-26
灌區(qū)管理信息系統(tǒng)的研制開發(fā)04-27
windows及應(yīng)用實(shí)踐報(bào)告04-14
初識Windows的教學(xué)方案01-17