VxD
Appearance
This article needs additional citations for verification. (September 2014) |
VxD is the
DR-DOS 7.02 (and higher) multitasker (
.
TASKMGR
).[1] VxDs have access to the memory of the kernel and all running processes, as well as raw access to the hardware. Starting with Windows 98, Windows Driver Model was the recommended driver model to write drivers for, with the VxD driver model still being supported for backward compatibility, until Windows MeName 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
format. VxDs written for Windows 3.x can be used under Windows 9x but not vice versa.
.386
, while those under Windows 9x have .vxd
. Windows 9x VxDs are in Linear ExecutableHistory
Prior to the advent of Windows,
device memory etc.) or go through a DOS device driver. As DOS was not multitasking, each application would have exclusive and complete control over the hardware while running. Though Windows 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. 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
ACPI states like hibernation
being unavailable.
VxDs are not usable in Windows NT 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 NT-based operating systems have adopted the Windows Driver Model from Windows 98.
VxDs should not be confused with the similarly named
16-bit
program.
See also
- VXD (CONFIG.SYS directive)
- Windows Driver Model (WDM)
- Architecture of Windows 9x
References
- OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.)
Further reading
- Schulman, Andrew (November 1994). Unauthorized Windows 95 - Developer's Resource Kit (1st ed.). Foster City, California, USA: ISBN 1-56884-305-4.
- Schulman, Andrew;
- Programmer's Guide to Microsoft Windows 95: Key Topics on Programming for Windows from the Microsoft Windows Development Team. Technical Reference (1st ed.). Redmond, Washington, USA: ISBN 1-55615-834-3. Retrieved 2016-05-26.
- Oney, Walter (1995). Systems Programming for Windows 95 (1st ed.). Redmond, Washington, USA: ISBN 1-55615-949-8.
- ISBN 1-56884-318-6. Retrieved 2016-05-26.
- Hazzah, Karen (1997). Writing Windows VxDs and Device Drivers - Programming Secrets for Virtual Device Drivers (2nd printing, 2nd ed.). Lawrence, Kansas, USA: ISBN 0-87930-438-3.