设备驱动程序(英語: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)

参见

编辑

📚 Artikel Terkait di Wikipedia

人机交互特别兴趣组

了用户界面软件与技术研讨会(英语:ACM Symposium on User Interface Software and Technology)(Symposium on User Interface Software and Technology)和计算机支持的协同工作会议。 CHI每年会评选8人左右进入CHI学会(英语:CHI

介面 (資訊科技)

接口或界面(英語:Interface),台湾译为介面,取“仲介之面”之意。介面泛指實體把自己提供給外界(可以為另一實體)的一種抽象化物,用以從與外部溝通時分離出內部操作,使其能被修改內部而不影響外界其他實體與其互動的方式,就如物件導向程式設計提供的多重抽象化。

Interface Builder

4的发布,IB在Mac OS X中将不再作为单独的程序提供。 Interface Builder User Guide (页面存档备份,存于互联网档案馆)(PDF) WWDC Software Notes: Safari 5, Xcode 4, iTunes 9.2. Mac

GNU

[2025-09-14] –通过Free Software Foundation (英语).  Cardoza, Christina. Free Software Foundation celebrates 35 years in the free software fight. SD Times. 2020-10-08

JTAG

JTAG/boundary-scan software for circuit debugging and visualization. Green Hills Software (页面存档备份,存于互联网档案馆) MULTI Debugger and Green Hills Probe, Software and hardware

BIOS

最大的BIOS供應商。之前被鳳凰科技超過。 Insyde Software,台灣系微公司。 Byosoft,新興廠商,中國大陸的百敖軟體公司。 英特尔於2000年開發出可扩展固件接口(Extensible Firmware Interface),隨後,由业界多家著名公司共同成立统一可扩展固件接口论坛(UEFI

Ubuntu 軟體中心

usefulness of descriptions and other metadata for software packages. The software updates interface should be honed to maximize the voluntary installation

SSI

伺服器系統架構(Server System Infrastructure) 单系统映像 卫星软件计划(The Satellite Software Initiative) 同步串行接口(SSI(Synchronous Serial Interface) 定点整合(site-specific integration)