Last Updated September 7, 1999
What does UDI stand for?
What is a Uniform Driver Interface?
Officially, UDI stands for the Uniform Driver Interface. It's often referred
to incorrectly as the Universal Driver Interface, but we won't complain.
What types of devices are supported by UDI?
Like other device driver interfaces used in Operating Systems today, UDI
defines an architecture and a set of APIs for use between the driver and
the surrounding system. This allows drivers and OSes to be developed independently.
UDI goes a step further and provides APIs that are OS-neutral and platform-neutral,
allowing multiple OSes and platforms to use the exact same driver.
UDI also provides uniformity across device types. Many OSes today use drastically
different driver interfaces for different types of devices (e.g. SCSI vs
Network). UDI provides a common infrastructure for all drivers, with extensions
for specific device types.
What's the major motivation for creating a Uniform Driver Interface?
UDI is extensible to new device types through the definition of new metalanguages.
A UDI metalanguage defines the API extensions and semantics used to communicate
with a device driver for a particular type of device. The initial device
metalanguage targets for UDI are for SCSI Host Bus Adapters (defined in
the UDI SCSI Driver Specification), Network Interface Cards (defined in
the UDI Network Driver Specification), and USB Client Devices (defined
in the OpenUSBDI
Specification from USBDWG). Other metalanguages are expected to be
defined over time. See http://www.project-udi.org/metalanguages.html
for a complete list.
Why not just support some existing driver model on all OSes?
With today's rapid pace of hardware development, and the proliferation
of Operating Systems, it is becoming increasingly challenging to develop
timely support for new hardware on more than a small number of Operating
Who's developing UDI?
Unlike other interfaces, UDI was designed from the start to be applicable
for a wide range of Operating Systems and platforms, instead of being based
on a particular OS's internal architecture or limited to a particular style
of platform architecture. This creates a level playing field, allowing
the interface to more readily be adapted to a wide range of architectures.
If UDI were biased towards one or a small number of Operating Systems or
platforms it would be difficult to gain acceptance from other OS and System
What does it cost to participate or to use the specifications?
Anyone can participate in the development of the UDI architecture and specifications.
Project UDI is a public forum for developing and promoting UDI. Active
participants include Adaptec, Bit3, Compaq, Hewlett-Packard, IBM, Intel,
Interphase, Lockheed-Martin, Lynx Real-Time Systems, SCO, Sun, and others
The UDI specification team, formed in 1993 in response to I/O bus standardization
and interest from X/Open in driver interface standardization, is composed
of senior architects and engineers from many different companies, collectively
representing experience with a broad range of hardware and software architectures.
This team has been primarily driven by individual passion and belief in
the goals of Project UDI, sometimes despite management scepticism.
When will implementations be available?
Nothing! Project UDI is a public forum with no membership
fees. All of the specifications and other materials produced by Project
UDI are in the public domain and freely downloadable from the web, with
no licensing or other legal or financial requirements.
SCO Early Development Kits are
freely downloadable, as will be the Reference Implementation.
How can I get the specs and how can I get involved?
Project UDI will be releasing a Reference Implementation of UDI environments
for several OSes, including Linux, UnixWare 7, HP-UX, and Compaq Tru64
UNIX, in 2H99 sometime after the 1.0 specifications are published. The
Reference Implementation will also include several sample device drivers.
SCO will be releasing a series of Early Development Kits for UDI which will allow
UDI drivers to be developed and tested on UnixWare 7.1.
Who can I contact for more information?
The UDI specifications and related documents are available for download
from http://www.project-udi.org. The currently
available version is draft version 1.0rc3, which is now undergoing final
proofreading. The final 1.0 specification set will be published in September.
If you want to get more actively involved, beyond reading and reviewing
the specs, you can subscribe to the UDI technical and/or marketing reflectors
or attend any of the conference calls or face-to-face meetings (see http://www.project-udi.org/calendar.html).