统一驱动程序接口(Uniform Driver Interface,UDI)是一个由多家公司开发的项目,目的是为驱动程序定义一个可移植接口。该项目目前已失效。
简介统一驱动程序接口允许设备驱动程序跨越硬件平台和操作系统操作系统移植,而无须更改任何驱动程序源代码。在多个操作系统、平台和设备硬件供应商的参与下,UDI旨在成为首个可大规模实现这种可移植性的接口。UDI为驱动程序提供了具有良好定义的接口封装环境,这些接口将驱动程序与操作系统策略以及平台和I/O总线的依赖关系隔离开来。原则上,这允许驱动程序完全独立于操作系统开发。此外,UDI架构旨在将驱动程序与平台细节隔离,例如字节序、直接存储器访问(DMA)实现、多处理,中断实现和I/O总线拓扑。
虽然UDI可能潜在地有益于开源操作系统,例如为Linux和*BSD提供更多公司的驱动程序支持,但一些开放源代码/自由软件倡导者担心UDI将导致封闭源代码驱动的扩散和公司减少对开源的支持,削弱自由软件和开源运动。理查德·斯托曼(自由软件运动领导者)称该项目不会使自由软件运动受益。1
驱动程序设备驱动程序(英语: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位驱动程序)。1
网络驱动程序接口规范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.302
通用网络驱动接口通用网络驱动接口(UNDI) 是一个用于PXE协议的网卡(NIC)的应用程序接口(API) 。2
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学