求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

設備驅動程序檢視原始碼討論檢視歷史

事實揭露 揭密真相
(重新導向自 驱动程序)
前往: 導覽搜尋

設備驅動程序英語:device driver),簡稱驅動程序(driver),是一個允許高端(High level)電腦軟件(computer software)與硬件(hardware)交互的程序,這種程序創建了一個硬件與硬件,或硬件與軟件溝通的接口,經由主板上的總線(bus)或其它溝通子系統(subsystem)與硬件形成連接的機制,這樣的機制使得硬件設備(device)上的數據交換成為可能。

依據不同的計算機體系結構與操作系統差異平台,驅動程序經歷了8位(8-bit)、16位(16-bit)、32位(32-bit)、64位(64-bit)變遷,這是為了調和操作系統與驅動程序之間的依存關係,例如在Windows 3.11的16位操作系統時代,大部分的驅動程序都是16位,到了32位的Windows XP則使用32位驅動程序(微軟提供了Windows Driver Model可實現driver),至於64位的Linux或是Windows平台上,就必須使用64位的驅動程序(WDM與WDF皆可實現64位驅動程序)。

驅動程序的開發

驅動程序的開發工作是很具挑戰性的,因為必須配合着硬件與軟件上相當明確與高級的平台技術。由於大多數的驅動程序(device drivers)運行在核心模式(kernel mode),軟件的錯誤經常造成系統嚴重的不穩定,例如藍屏(blue screen),這跟過去的用戶模式(user mode)下的程序設計(例如Delphi、VB、Java)有明顯的差異性。

Windows平台

為了大量減輕驅動程序開發人員的負擔,微軟不斷的改進驅動程序的開發軟件與架構,從早期複雜深晦的VxD,到Windows XP上的Windows Driver Model(以下簡稱WDM)開發架構,如今Windows Driver Foundation(以下簡稱WDF)已成為新一代的Windows平台驅動程序發展架構,這個架構大量簡化了驅動程序的開發流程,更符合面向對象的精神,此架構包含了User Mode Driver Framework與Kernel Mode Driver Framework兩種開發模式。在開發Windows平台上的驅動程序之前,必須先安裝DDK(Driver Development Kit),DDK包同時支持WDM[1]與WDF兩種架構。

Linux平台

Linux下的設備有三種基本類型:字符設備,塊設備和網絡接口[2]

驅動程式的應用

因為常見的硬件和操作系統的差異性,驅動程序存在著不同的方式。用於:

驅動程序的抽象化共同層級(Common levels of abstraction):

  • 在硬體層方面:
    • 直接連接(Interfacing directly)
    • 使用一些較高層次的介面(如:視頻BIOS
    • 使用另一低級別的驅動程序(如檔案系統驅動程序使用磁碟驅動程式)
    • 模擬硬體工作
  • 在軟體層方面:
    • 允許操作系統直接存取硬體資源
    • 實現對非驅動程式的軟體的界面(如TWAIN
    • 實現一個更高層級的語言,例如PostScript

視頻

設備驅動程序 相關視頻

到底什麼是驅動程序?為什麼經常聽說要重裝驅動
驅動程序安裝

參考文獻

  1. DDK與WDK WDM的區別,新浪博客,2013-08-27
  2. 設備驅動程序簡介,簡書,2019-07-07