本文主要是關(guān)于電腦驅(qū)動(dòng)程序的相關(guān)介紹,并著重對(duì)電腦驅(qū)動(dòng)程序的工作原理及意義進(jìn)行了詳盡的闡述。
電腦驅(qū)動(dòng)程序
1 驅(qū)動(dòng)程序是什么
驅(qū)動(dòng)程序的概念,驅(qū)動(dòng)程序?qū)嶋H上是一段能讓電腦與各種硬件設(shè)備通話的程序代碼。如果一個(gè)硬件只依賴操作 系統(tǒng)而沒有驅(qū)動(dòng)程序,這個(gè)硬件就不能發(fā)揮其特有的功效。換言之,驅(qū)動(dòng)程序是硬件和操作系統(tǒng) 之間的一座橋梁,由它把硬件本身的功能告訴給操作系統(tǒng),同時(shí)也將標(biāo)準(zhǔn)的操作系統(tǒng)指令轉(zhuǎn)化成 特殊的外設(shè)專用命令,從而保證硬件設(shè)備的正常工作。
驅(qū)動(dòng)程序也有多種模式,比較熟悉的是微軟的Win32驅(qū)動(dòng)模式,無論使用的是Windows 9x系列, 還是Windows XP/2000操作系統(tǒng),同樣的硬件只需安裝其相應(yīng)的驅(qū)動(dòng)程序就可以用了。我們常見到 For 9x或For NT/2000等驅(qū)動(dòng)程序,由于這兩種操作系統(tǒng)的內(nèi)核是不一樣的,需要針對(duì)Windows酌不 同版本進(jìn)行修改。而無須根據(jù)不同的操作系統(tǒng)重新編寫驅(qū)動(dòng),這就給廠家和用戶帶來了極大的方便。
有時(shí)候在找到某個(gè)硬件型號(hào)的驅(qū)動(dòng)程序后,會(huì)出現(xiàn)VxD和WDM兩種驅(qū)動(dòng)。其中,VxD驅(qū)動(dòng) 是一款虛擬驅(qū)動(dòng)程序,類似于DOS下的驅(qū)動(dòng)程序,如果你使用的是Windows 9x系統(tǒng),使用VxD 驅(qū)動(dòng)程序會(huì)發(fā)揮出硬件的最佳性能;而WDM驅(qū)動(dòng)則是支持更多的新設(shè)備,可以增強(qiáng)系統(tǒng)性能和 穩(wěn)定性,在Windows XP/2000操作系統(tǒng)中只支持WDM驅(qū)動(dòng)。 以上內(nèi)容那個(gè)是解答驅(qū)動(dòng)程序是什么的問題,下面接著講如何下載驅(qū)動(dòng)程序,驅(qū)動(dòng)程序怎么安裝的具體方法。
2 為什么安裝驅(qū)動(dòng)程序
雖然Windows XP/7系統(tǒng)能夠識(shí)別一些硬件設(shè)備,并為其自動(dòng)安裝驅(qū)動(dòng)程序。但是默認(rèn)的驅(qū) 動(dòng)程序一般不能完全發(fā)揮硬件的最佳功能,這時(shí)就需要安裝生產(chǎn)廠商提供的驅(qū)動(dòng)程序。
另外,有些硬件設(shè)備Windows XP/7系統(tǒng)無法識(shí)別,就無法自動(dòng)安裝其需要的驅(qū)動(dòng)程序,這 些都需要用戶安裝設(shè)備驅(qū)動(dòng)程序。如圖15-1所示為無法識(shí)別被打上黃色感嘆號(hào)的硬件設(shè)備。
3 如何獲得驅(qū)動(dòng)程序
獲取硬件的驅(qū)動(dòng)程序主要有以下幾種方法。
1.購(gòu)買硬件時(shí)附帶的安裝光盤
購(gòu)買硬件設(shè)備時(shí),包裝盒內(nèi)帶有一張驅(qū)動(dòng)程序安裝光盤。將光盤放入光驅(qū)后,會(huì)自動(dòng)打開一 個(gè)安裝界面引導(dǎo)用戶安裝相應(yīng)的驅(qū)動(dòng)程序,選擇相應(yīng)的選項(xiàng),即可安裝相應(yīng)的驅(qū)動(dòng)程序。
電腦驅(qū)動(dòng)程序的工作原理
電腦驅(qū)動(dòng)程序的工作原理:
驅(qū)動(dòng)程序的定義 是一種可以使計(jì)算機(jī)和設(shè)備通信的特殊程序,可以 說相當(dāng)于硬件的接口,操作系統(tǒng)只有通過這個(gè)接口,才能控制硬件設(shè)備的工作 ,假如某設(shè)備的驅(qū)動(dòng)程序未能正確安裝,便不能正常工作;
因此,驅(qū)動(dòng)程序被譽(yù)為“ 硬件的靈魂”、“硬件的主宰”、和“硬件和系統(tǒng)之間的橋梁”等。 剛安裝好的系統(tǒng)操作系統(tǒng),很可能驅(qū)動(dòng)程序安裝得不完整。硬件越新,這種可能性越大。菜菜熊之前看到的“圖標(biāo)很大且顏色難看”就是沒有安裝好驅(qū)動(dòng)的原因;
在軟件測(cè)試中 :在自底向上測(cè)試中,要編寫稱為測(cè)試驅(qū)動(dòng)的模塊調(diào)用正在測(cè)試的模塊。 測(cè)試驅(qū)動(dòng)模塊以和將來真正模塊同樣的方式掛接,向處于測(cè)試的模塊發(fā)送測(cè)試用例數(shù)據(jù),接受返回結(jié)果,驗(yàn)證結(jié)果是否正確。 驅(qū)動(dòng)程序的作用 隨著電子技術(shù)的飛速發(fā)展,電腦硬件的性能越來越強(qiáng)大;
驅(qū)動(dòng)程序是直接工作在各種硬件設(shè)備上的軟件,其“驅(qū)動(dòng)”這個(gè)名稱也十分形象的指明了它的功能;
正是通過驅(qū)動(dòng)程序,各種硬件設(shè)備才能正常運(yùn)行,達(dá)到既定的工作效果。
驅(qū)動(dòng)程序的組成
驅(qū)動(dòng)程序 簡(jiǎn)單的話就是識(shí)別和正常運(yùn)行各硬件的軟件,有一些朋友對(duì)驅(qū)動(dòng)程序的安裝都很畏懼,也有不少對(duì)驅(qū)動(dòng)程序較感興趣,那么驅(qū)動(dòng)是由什么組成的呢?
一般操作系統(tǒng)Windows,它的驅(qū)動(dòng)程序由后綴名為drv、vxd、sys、dll、exe、ini、inf等種類的文件組成,其中.drv、.vxd、.dll、.inf等文件是許多驅(qū)動(dòng)程序的核心文件。而其中后綴名為inf的驅(qū)動(dòng)文件對(duì)電腦更為重要!
inf文件,從Win95開始使用的一種存放設(shè)備安裝信息的文件,它用特定語法的文字來表明要安裝的設(shè)備類型型號(hào)及廠商,以及需要安裝的文件及上標(biāo)路徑或要添加到注冊(cè)表中的信息。
大家可以看到幾乎所有系統(tǒng)驅(qū)動(dòng)程序中都有inf這個(gè)文件,硬件廠商他自己開發(fā)的驅(qū)動(dòng),這種驅(qū)動(dòng)一般可以最大限度地發(fā)揮其產(chǎn)品硬件效能,而且一些大廠家,其驅(qū)動(dòng)的功能也就越強(qiáng)大和完善,它一般隨該產(chǎn)品的隨機(jī)光盤或軟盤提供。
另外,硬件設(shè)備中的核心芯片的制造廠家,也提供硬件設(shè)備的驅(qū)動(dòng)程序。這些驅(qū)動(dòng)程序,因?yàn)檫m合于所有采用該核心芯片的產(chǎn)品,所以大家又將其稱之為“公版”驅(qū)動(dòng)。這種驅(qū)動(dòng)穩(wěn)定性、兼容性都很不錯(cuò)!
驅(qū)動(dòng)程序的意義
在操作系統(tǒng)當(dāng)中,設(shè)備驅(qū)動(dòng)程序是一種非常重要的I/O軟件。設(shè)備驅(qū)動(dòng)程序是直接同IO設(shè)備打交道,直接對(duì)它們進(jìn)行控制的軟件模塊。設(shè)備驅(qū)動(dòng)程序的基本任務(wù)是接收來自上層的IO軟件的抽象請(qǐng)求,并且去執(zhí)行這個(gè)請(qǐng)求,例如,抽象的讀寫操作,設(shè)備的初始化操作等。上層的IO軟件通過這些抽象的函數(shù)接口與設(shè)備驅(qū)動(dòng)程序打交道,而這些接口是標(biāo)準(zhǔn)的、穩(wěn)定不變的,而硬件設(shè)備的具體細(xì)節(jié)被封裝在設(shè)備驅(qū)動(dòng)程序內(nèi)部。這樣,如果硬件設(shè)備發(fā)生變化,只要更新相應(yīng)的設(shè)備驅(qū)動(dòng)程序即可,不會(huì)影響到上層軟件對(duì)它的使用。
設(shè)備驅(qū)動(dòng)程序與具體的設(shè)備類型密切相關(guān)。每個(gè)IO都需要相應(yīng)的設(shè)備驅(qū)動(dòng)程序,而每一個(gè)設(shè)備驅(qū)動(dòng)程序也只能處理一種類型的設(shè)備,因?yàn)閷?duì)不同類型的設(shè)備,他們的控制方式不同的。例如,對(duì)于一個(gè)鼠標(biāo)設(shè)備驅(qū)動(dòng)程序來說,它需要從設(shè)備控制器中讀取各種各樣的信息,包括鼠標(biāo)的移動(dòng)位置、那個(gè)鍵被按下等。而對(duì)于一個(gè)磁盤的驅(qū)動(dòng)程序而言,它為了進(jìn)行磁盤的讀寫操作就必須知道扇區(qū)、磁道、柱面、磁頭等各種各樣的參數(shù),并使用這些參數(shù)來控制磁盤控制器。
一般而言,在具體實(shí)現(xiàn)一個(gè)設(shè)備驅(qū)動(dòng)程序的時(shí)候,可以采用一種通用的結(jié)構(gòu)。
(1)檢查輸入的參數(shù)是否有效,如果無效,就返回一個(gè)出錯(cuò)報(bào)告;如果有效,就把輸入的的抽象參數(shù)轉(zhuǎn)換而控制設(shè)備所需要的具體參數(shù)。
(2)檢查設(shè)備當(dāng)前是否空閑,如果設(shè)備正忙,那么這一次的IO請(qǐng)求就暫時(shí)沒法完成,所以把它加入等待隊(duì)列(阻塞隊(duì)列),稍后在處理;如果設(shè)備空閑,再檢查硬件的狀態(tài),看是否具備了運(yùn)行的條件。
(3)設(shè)備驅(qū)動(dòng)程序向設(shè)備控制器發(fā)出一連串的命令,也就是說,把這些命令寫入到控制器的各個(gè)寄存器中當(dāng)中。
(4)在發(fā)出控制命令后,如果這個(gè)IO操作需要一定的時(shí)間,不能馬上完成,那么驅(qū)動(dòng)程序就會(huì)把自己阻塞起來,直到IO操作完成,并通過硬件產(chǎn)生一個(gè)中斷,在這個(gè)中斷處理程序里面把驅(qū)動(dòng)程序喚醒加入到就緒隊(duì)列中(如果cpu空閑則就獲得cpu運(yùn)行)。
(5)IO操作完成以后,設(shè)備驅(qū)動(dòng)程序還有檢查出錯(cuò)的情況。若一切正常,就返回一些狀態(tài)信息給調(diào)用者。如果這是一個(gè)輸入的操作,還要把輸入的數(shù)據(jù)上傳給上一層的系統(tǒng)軟件。
在實(shí)時(shí)內(nèi)核的IO系統(tǒng)中,用戶的IO請(qǐng)求在到達(dá)設(shè)備驅(qū)動(dòng)程序之前,通常只做少量的處理。事實(shí)上,實(shí)時(shí)內(nèi)核的IO系統(tǒng)的作用就像一個(gè)轉(zhuǎn)換表,把用戶對(duì)IO的請(qǐng)求轉(zhuǎn)換到相應(yīng)的設(shè)備驅(qū)動(dòng)程序中。這樣,設(shè)備驅(qū)動(dòng)程序就能獲得最原始用戶的請(qǐng)求,并對(duì)設(shè)備進(jìn)行操作。
結(jié)語
關(guān)于電腦驅(qū)動(dòng)程序的相關(guān)介紹就到這了,如有不足之處歡迎指正。
-
驅(qū)動(dòng)程序
+關(guān)注
關(guān)注
19文章
831瀏覽量
48022 -
IO設(shè)備
+關(guān)注
關(guān)注
0文章
21瀏覽量
7370
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論