✔ 最佳答案
驅動程序
設備驅動程序(device driver),簡稱驅動程序(driver),是一個允許電腦軟體(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 Vista平臺上,就必須使用64位元的驅動程式(WDM與WDF皆可實作64位元驅動程式)。
目錄[隐藏]
1 驅動程式的開發
2 驅動程式的應用
3 虛擬裝置驅動程式
4 驅動程式的API
5 參見
6 外部連結
驅動程式的開發
驅動程式的開發工作是很具挑戰性的,因為必須配合著硬體與軟體上相當明確與高級的平臺技術。由於大多數的驅動程式(device drivers)執行在核心模式(kernel mode),軟體的錯誤經常造成系統嚴重的不穩定,例如藍色當機畫面(blue screen),這跟過去的使用者模式(user mode)下的程式設計(例如Delphi、VB、Java)有明顯的差異性。
為了大量減輕驅動程式開發人員的負擔,微軟亦不斷的改進驅動程式的開發軟體與架構,從早期複雜深晦的VxD,到Windows XP上眾所皆知的Windows Driver Model(以下簡稱WDM)開發架構,如今Windows Driver Foundation(以下簡稱WDF)已成為新一代的Windows平臺驅動程式發展架構,這個架構大量簡化了驅動程式的開發流程,更符合物件導向的精神,此架構包含了User Mode Driver Framework 與 Kernel Mode Driver Framework兩種開發模式。在開發Windows平臺上的驅動程式之前,必須先安裝DDK套件,目前DDK最新版本為5600,同時支援WDM與WDF兩種架構。
驅動程式的應用
因為常見的硬體和作業系統的差異性,驅動程序存在與不同的方式。用於:
印表機
顯示卡
網路卡
音效卡
不同種類的匯流排
不同種類的低頻寬的I/O匯流排(如定點設備:滑鼠、鍵盤、USB等等。)
硬碟驅動器匯流排(ATA,SCSI);
實現對不同的檔案系統的支持。
實現對掃描儀、數位相機的支持。
驅動程序的抽象化共同層級(Common levels of abstraction):
在硬體層方面:
直接連接(Interfacing directly)
使用一些較高層次的介面(如:視頻BIOS)
使用另一低級別的驅動程序(如檔案系統驅動程序使用磁碟驅動程式)
模擬硬體工作
在軟體層方面:
允許作業系統直接存取硬體資源
僅實現其原始樣式(primitives)
實現對非驅動程式的軟體的界面(如TWAIN)
實現一個更高層級的語言,例如PostScript
虛擬裝置驅動程式
有一種特殊的驅動程式名為虛擬裝置驅動程式(virtual device drivers),可用於虛擬化的環境(virtualization environments),例如DOS程式要執行於Windows平臺上,就必須要利用這種虛擬裝置驅動程式,像是VMware 就是一種「虛擬PC」的軟體,可以在一臺機器上同時執行兩個或兩個以上的Windows、DOS、LINUX 系統,VMWare是真正實現了「同時」執行,多個作業系統在主系統的平臺上,就像標準Windows應用程式那樣切換一樣容易。
http://zh.wikipedia.org/w/index.php?title=%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F&variant=zh-tw