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

什么是驅(qū)動程序
Linux設(shè)備驅(qū)動程序的平臺驅(qū)動程序和字符驅(qū)動程序介紹
基于WDM驅(qū)動程序模型實現(xiàn)過濾器驅(qū)動程序的開發(fā)設(shè)計

STM32的ADC驅(qū)動程序

評論