VxD is the
device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
model used in
Microsoft Windows/386 2.x, the 386 enhanced mode of
Windows 3.x,
Windows 9x
Windows 9x is a generic term referring to a line of discontinued Microsoft Windows operating systems released from 1995 to 2000 and supported until 2006, which were based on the kernel introduced in Windows 95 and modified in succeeding version ...
, and to some extent also by the
Novell DOS 7,
OpenDOS 7.01, and
DR-DOS 7.02 (and higher) multitasker (
TASKMGR
).
VxDs have access to the
memory
Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
of the
kernel and all running
processes, as well as raw access to the hardware. Starting with
Windows 98
Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the second operating system in the 9x line, as the successor to Windows 95. It was Software ...
,
Windows Driver Model
In computing, the Windows Driver Model (WDM) also known at one point as the Win32 Driver Model is a framework for device drivers that was introduced with Windows 98 and Windows 2000 to replace VxD, which was used on older versions of Windows su ...
was the recommended driver model to write drivers for, with the VxD driver model still being supported for
backward compatibility
In telecommunications and computing, backward compatibility (or backwards compatibility) is a property of an operating system, software, real-world product, or technology that allows for interoperability with an older legacy system, or with Input ...
, until
Windows Me
Windows Me (Millennium Edition) is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the successor to Windows 98, and was released to manufacturing on June 19, 2000, and t ...
.
Name and design
The name "VxD" is an abbreviation for "virtual xxx driver", where "xxx" is some class of hardware device. It derives from the fact that most drivers had filenames of the form
vxxxd.386
in
Windows 3.x. Some examples are vjoyd.386 (joystick) and vmm.386 (
memory manager). VxDs under Windows 3.x usually have the
filename extension
A filename extension, file name extension or file extension is a suffix to the name of a computer file (for example, .txt, .mp3, .exe) that indicates a characteristic of the file contents or its intended use. A filename extension is typically d ...
.386
, while those under Windows 9x have
.vxd
. Windows 9x VxDs are in
Linear Executable The Linear Executable (LE) format is a file format for executables, object code, and DLLs designed for 32-bit protected mode operating systems. Originally used by the OS/2 operating system and adopted by various DOS extenders, it also served as the ...
format; its code can be 16-bit and 32-bit hybrid, or pure 32-bit.
VxDs written for Windows 3.x can be used under Windows 9x but not vice versa.
History
Prior to the advent of Windows,
DOS applications would either communicate directly with the various pieces of hardware (responding to
interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
s, reading and writing
device memory etc.) or go through a DOS
device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
. As DOS was not multitasking, each application would have exclusive and complete control over the hardware while running. Though
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
applications don't often communicate directly with hardware, it was the only way for Windows drivers; and still is in the
real and standard modes of Windows 3.x.
Windows/386 and onward allowed multiple DOS applications to execute concurrently by executing each within its own
virtual machine
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
. To share physical resources among these virtual machines, Microsoft introduced virtual device drivers. These drivers solved issues relating to conflicting usage of physical resources by intercepting calls to the hardware. Instead of a
machine port representing an actual device, it would represent a "virtual" device, which could be managed by the operating system.
Obsolescence
Although Windows 98 introduced the
Windows Driver Model
In computing, the Windows Driver Model (WDM) also known at one point as the Win32 Driver Model is a framework for device drivers that was introduced with Windows 98 and Windows 2000 to replace VxD, which was used on older versions of Windows su ...
(WDM), VxD device drivers can be used under Windows 98 and Windows Me. Using VxD drivers instead of WDM drivers in Windows 9x may result in advanced
ACPI
Advanced Configuration and Power Interface (ACPI) is an open standard that operating systems can use to discover and configure computer hardware components, to perform power management (e.g. putting unused hardware components to sleep), auto con ...
states like
hibernation
Hibernation is a state of minimal activity and metabolic reduction entered by some animal species. Hibernation is a seasonal heterothermy characterized by low body-temperature, slow breathing and heart-rate, and low metabolic rate. It is mos ...
being unavailable.
VxDs are not usable in
Windows NT
Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
or its descendants. Windows NT-based operating systems from
3.1 to
4.0 must use drivers written specifically for them. These drivers are otherwise known as the
Windows NT Driver Model. Starting with
Windows 2000
Windows 2000 is a major release of the Windows NT operating system developed by Microsoft, targeting the server and business markets. It is the direct successor to Windows NT 4.0, and was Software release life cycle#Release to manufacturing (RT ...
, Windows NT-based operating systems have adopted the Windows Driver Model from Windows 98.
VxDs should not be confused with the similarly named
NTVDM
Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware.
Overview
Virtual DOS machines can operate e ...
-specific 'VDDs' (Virtual Device Drivers), which provide a method of emulating direct I/O under a Windows NT "
DOS Box". NTVDM VDDs run as regular,
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
,
user-mode DLLs, and must rely on the
Win32 API (or another WDM driver) to emulate the desired I/O on behalf of the
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two ...
program.
See also
*
VXD (CONFIG.SYS directive)
*
Windows Driver Model
In computing, the Windows Driver Model (WDM) also known at one point as the Win32 Driver Model is a framework for device drivers that was introduced with Windows 98 and Windows 2000 to replace VxD, which was used on older versions of Windows su ...
(WDM)
*
Architecture of Windows 9x
References
Further reading
*
* (xviii+856+vi pages, 3.5"-floppy) Errata
https://web.archive.org/web/20190417212906/https://www.pcjs.org/pubs/pc/programming/Undocumented_DOS/#errata-2nd-edition]
*
*
*
*
{{Microsoft APIs
Microsoft application programming interfaces
Device drivers
Windows components