驱动程序

设备驱动程序(英語: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)下的程式設計(例如DelphiVBJava)有明顯的差異性。

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與WDF兩種架構。

Linux平台

Linux下的设备有三种基本类型:字符设备,块设备和网络接口。

驅動程式的應用

因为常见的硬件和操作系统的差异性,驱动程序存在著不同的方式。用于:

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

  • 在硬件層方面:
    • 直接连接(Interfacing directly)
    • 使用一些較高層次的接口(如:视频BIOS
    • 使用另一低级别的驱动程序(如文件系统驱动程序使用磁盘驱动程式)
    • 模拟硬件工作
  • 在软件層方面:
    • 允许操作系统直接存取硬件资源
    • 僅實現其原始樣式(primitives)
    • 实现对非驱动程式的软件的界面(如TWAIN
    • 实现一个更高層级的语言,例如PostScript

驅動程式的API

  • Advanced Linux Sound Architecture(ALSA) - 標準新式Linux音效卡驅動程式介面(sound driver interface)
  • I/O Kit - 一種蘋果電腦(Apple)上的開放式介面適用於發展麥金塔作業系統(Mac OS X)的裝置驅動程式
  • Installable File System(IFS) - 一種IBM OS/2與Microsoft Windows NT的檔案系統API
  • Network Driver Interface Specification(NDIS) - 一種標準網路卡(network card)驅動程式API
  • Open Data-Link Interface(ODI) - 一種類似NDIS的網路卡API
  • Scanner Access Now Easy(SANE) - a public domain interface to raster image scanner hardware
  • Uniform Driver Interface(UDI) - 跨平台(cross platform)驅動程式的介面規範
  • Windows Display Driver Model(WDDM) - Windows Vista及以後平台上新式的圖形顯示(graphic display)驅動程式架構。從Windows 8開始,Windows不支援舊的XPDM。
  • Windows Driver Foundation(WDF)
  • Windows Driver Model(WDM)
  • Universal Windows Driver(UWD)

参见

Tags:

驱动程序 驅動程式的開發驱动程序 驅動程式的應用驱动程序 驅動程式的API驱动程序 参见驱动程序匯流排计算机硬件计算机程序軟體

🔥 Trending searches on Wiki 中文:

張柏芝傅崐萁謝安琪奥斯卡最佳女配角奖金高銀全斗煥擁抱太陽的月亮2024年花蓮地震伊莉討論區夢想成為魔法少女蜡笔小新中国大陆电视剧列表 (2024年)進擊的巨人愛·回家之開心速遞藍葦華劉俊謙 (香港)淚之女王成吉思汗袁世凯凱莉·珍娜山东省NBA冰雹习近平千古玦尘新聞女王盧武鉉周也林更新周恩来戚薇IVE (組合)許凱北大西洋公约组织史嘉蕾·喬韓森華麗計程車行(G)I-DLE六四事件我回來了、歡迎回家宋建熙国际劳动节Re:Monster玄彬卓榮泰反對逃犯條例修訂草案運動中華民國媒體列表張菲米崙斷層抖音一带一路溥仪巨人观梁小冰人工智能俄乌战争Tyson Yoshi以愛為營威廉·莎士比亚明宰鉉此時此刻 (電視劇)中国朝代拿破仑一世英国香格里拉·開拓異境~糞作獵手挑戰神作~封神第一部:朝歌风云ZEROBASEONE變裝皇后三星堆遗址愛的榮耀李小龙吹響吧!上低音號SPY×FAMILY間諜家家酒劍星NewJeans青春18×2 通往有你的旅程朴智恩 (編劇)柯玲玲乐游原 (网络剧)王沪宁🡆 More