簡介
統一驅動程式接口允許設備驅動程式跨越
硬體平台和作業系統
作業系統移植,而無須更改任何驅動程式原始碼。在多個作業系統、平台和設備硬體供應商的參與下,UDI旨在成為首個可大規模實現這種可移植性的接口。UDI為驅動程式提供了具有良好定義的接口封裝環境,這些接口將驅動程式與作業系統策略以及平台和I/O匯流排的依賴關係隔離開來。原則上,這允許驅動程式完全獨立於作業系統開發。此外,UDI架構旨在將驅動程式與平台細節隔離,例如
位元組序、
直接存儲器訪問(DMA)實現、多處理,中斷實現和I/O匯流排拓撲。
雖然UDI可能潛在地有益於開源作業系統,例如為
Linux和*BSD提供更多公司的驅動程式支持,但一些
開放原始碼/
自由軟體倡導者擔心UDI將導致封閉原始碼驅動的擴散和公司減少對開源的支持,削弱自由軟體和開源運動。
理察·斯托曼(
自由軟體運動領導者)稱該項目不會使自由軟體運動受益。
驅動程式
設備驅動程式(英語:
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位驅動程式)。
網路驅動程式接口規範
Network Driver Interface Specification是微軟所提供的
網路適配器(NIC)API,使N I C和多個協定進行通信成為可能,功能相當於 OSI 數據連結層的
邏輯鏈路控制(LLC)。
NDIS 的版本演進如下:
Windows 95: NDIS 3.10
Windows 98/98 SE/Me: NDIS 5.0
Windows 2000: NDIS 5.0
Windows XP: NDIS 5.1
Windows Server 2003: NDIS 5.2 (5.1 before SP2)
Windows Vista: NDIS 6.1 (6.0 before SP1)
Windows Server 2008: NDIS 6.1
Windows 7, Server 2008 R2: NDIS 6.20
Windows 8, Server 2012, 8.1, Server 2012 R2: NDIS 6.30