什麼是設備驅動程序?

設備驅動程序:為什麼它們很重要以及如何使用它們

設備驅動程序是一小段軟件,它告訴操作系統和其他軟件如何與一個硬件進行通信。

例如,打印機驅動程序告訴操作系統,並且通過擴展來確定您想要打印的內容是什麼程序, 確切地說如何在頁面上打印信息

聲卡驅動程序是必需的,因此您的操作系統完全知道如何將包含該MP3文件的1和0轉換為聲卡可以輸出到耳機或揚聲器的音頻信號。

相同的總體思路適用於顯卡鍵盤顯示器等。

請繼續閱讀關於為什麼司機很重要的更多信息,包括更多示例,以及關於如何保持司機更新以及如果他們的工作不正常應該怎麼做的信息。

設備驅動程序的工作原理如何?

想想設備驅動程序,例如您正在使用的程序和該程序想要以某種方式利用的設備之間的翻譯程序。 軟件和硬件由不同的人或公司創建,並且講兩種完全不同的語言,所以翻譯者(司機)允許他們進行交流。

換句話說,一個軟件程序可以向驅動程序提供信息,說明硬件要做什麼,設備驅動程序可以理解的信息,然後可以用硬件來完成。

由於設備驅動程序,大多數軟件程序不需要知道如何直接使用硬件,驅動程序也不需要包含完整的應用程序體驗以供用戶進行交互。 相反,程序和驅動程序只需要知道如何與對方進行交互。

考慮到軟件和硬件的供應幾乎源源不斷,這對於所有參與者來說都是一筆相當不錯的交易。 如果每個人都必須知道如何與其他人溝通,那麼製作軟件和硬件的過程幾乎是不可能的。

如何管理設備驅動程序

大多數情況下,驅動程序會自動安裝,從不需要更多的關注,除了偶爾更新修復錯誤或添加一個很酷的新功能。 對於Windows中通過Windows Update下載的某些驅動程序,這是正確的。

Windows計算機中每個硬件的驅動程序都由設備管理器集中管理,可用於所有版本的Microsoft Windows

以下是涉及驅動程序的Windows中的一些常見任務:

以下是與驅動程序相關的其他一些資​​源:

可以隔離到特定硬件的許多問題不是實際硬件本身的問題,而是針對該硬件安裝的設備驅動程序的問題。 上面鏈接的一些資源應該可以幫助你弄清楚所有這些。

更多關於設備驅動程序

除了基本的軟件驅動程序和硬件之間的關係外,還有一些涉及驅動程序的情況(並且不會)很有趣。

雖然現在這種情況並不常見,但某些軟件可以直接與某些類型的硬件進行通信 - 無需驅動程序! 這通常只有在軟件向硬件發送非常簡單的命令時,或者兩者都由同一家公司開發時才有可能,但這也可以被認為是一種內置的驅動器情況。

有些設備驅動程序直接與設備進行通信,但其他設備驅動程序可以分層。 在這些情況下,程序將在驅動程序與另一個驅動程序通信之前與一個驅動程序進行通信,直到最後一個驅動程序實際與硬件進行直接通信。

除了驗證其他驅動程序正常工作以外,這些“中間”驅動程序通常不會執行任何功能。 無論在一個“堆棧”中是否有一個或多個驅動程序工作,所有這些都是在後台完成的,無需您知道或執行任何操作。

Windows使用.SYS文件作為可加載的設備驅動程序,這意味著它們可以根據需要加載,以便它們不總是佔用內存。 Linux.KO模塊也是如此。

WHQL是Microsoft的一項測試過程,它有助於證明某個特定的設備驅動程序可以與特定版本的Windows一起使用。 您可能會看到您正在下載的驅動程序是或未經過WHQL認證。 您可以在這裡閱讀有關Windows硬件質量實驗室的更多信息

驅動程序的另一種形式是虛擬設備驅動程序,與虛擬化軟件一起使用。 它們的工作方式與常規驅動程序類似,但為了防止客戶操作系統直接訪問硬件,虛擬驅動程序偽裝成真正的硬件,以便客戶操作系統和其自身的驅動程序可以像非虛擬操作系統一樣訪問硬件。

換句話說,雖然主機操作系統及其驅動程序與實際硬件組件接口,但虛擬客戶機操作系統及其驅動程序通過虛擬設備驅動程序與虛擬硬件進行交互,然後由主機操作系統中繼到真實的物理硬件。