Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
VxD

VxD

Overview
VxD is the device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

 model used in Microsoft Windows/386
Windows 2.1x
Windows 2.1x is a family of Microsoft Windows graphical user interface-based operating environments.Less than a year after the release of Windows 2.0, Windows/286 2.10 and Windows/386 2.10 were released on 27 May 1988...

, the 386 enhanced mode of Windows 3.x
Windows 3.1x
Windows 3.1x is a series of 16-bit operating systems produced by Microsoft for use on personal computers. The series began with Windows 3.1, which was first sold during March 1992 as a successor to Windows 3.0...

, and Windows 9x
Windows 9x
Windows 9x is the family of Microsoft Windows operating systems that comprises the hybrid 16/32-bit Windows versions: Windows 95, Windows 98, which were produced in the 1990s, and often also Windows Me, which was produced in 2000...

. VxDs have access to the memory of the kernel and all running processes, as well as raw access to the hardware.

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
Windows 3.1x
Windows 3.1x is a series of 16-bit operating systems produced by Microsoft for use on personal computers. The series began with Windows 3.1, which was first sold during March 1992 as a successor to Windows 3.0...

. Some examples are: vjoyd.386 (joystick), vmm.386 (memory manager).
Discussion
Ask a question about 'VxD'
Start a new discussion about 'VxD'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
VxD is the device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

 model used in Microsoft Windows/386
Windows 2.1x
Windows 2.1x is a family of Microsoft Windows graphical user interface-based operating environments.Less than a year after the release of Windows 2.0, Windows/286 2.10 and Windows/386 2.10 were released on 27 May 1988...

, the 386 enhanced mode of Windows 3.x
Windows 3.1x
Windows 3.1x is a series of 16-bit operating systems produced by Microsoft for use on personal computers. The series began with Windows 3.1, which was first sold during March 1992 as a successor to Windows 3.0...

, and Windows 9x
Windows 9x
Windows 9x is the family of Microsoft Windows operating systems that comprises the hybrid 16/32-bit Windows versions: Windows 95, Windows 98, which were produced in the 1990s, and often also Windows Me, which was produced in 2000...

. VxDs have access to the memory of the kernel and all running processes, as well as raw access to the hardware.

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
Windows 3.1x
Windows 3.1x is a series of 16-bit operating systems produced by Microsoft for use on personal computers. The series began with Windows 3.1, which was first sold during March 1992 as a successor to Windows 3.0...

. Some examples are: vjoyd.386 (joystick), vmm.386 (memory manager). VxDs usually have the filename extension
Filename extension
A filename extension is a suffix to the name of a computer file applied to indicate the encoding convention of its contents.In some operating systems it is optional, while in some others it is a requirement...

 .386 under Windows 3.x and .vxd under Windows 95. VxDs written for Windows 3.x can be used under Windows 95 but not vice versa.

History


Prior to the advent of Windows, DOS
DOS
DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, 98, and ME.Related systems...

 applications frequently communicated directly with various pieces of hardware, by responding to interrupts, reading and writing device memory etc. Each application expected to have exclusive and complete control over the hardware. Though Windows
Microsoft Windows
Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces...

 applications don't often communicate directly with hardware, it was the only way to write Windows drivers, and still is in the real and standard modes of Windows 3.x. Despite the fact that Windows switched from running in real mode to protected mode, direct hardware access and interrupt hooking could still be done because when Windows switched to running in protected mode it kept the single privilege level model used in real mode. This lasted all the way through Windows 9x. Windows/386 and onwards allowed multiple MS-DOS
MS-DOS
MS-DOS is an operating system developed by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s. It was preceded by M-DOS , designed and copyrighted by Microsoft in 1979...

 applications to execute simultaneously. This was done by executing each legacy application within its own virtual machine. To share arbitrary physical resources amongst these virtual machines, Microsoft introduced dynamically-loadable 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
Computer port (software)
In computer programming, port has a wide range of meanings.A software port is a virtual/logical data connection that can be used by programs to exchange data directly, instead of going through a file or other temporary storage location...

 representing an actual device, it would represent a "virtual" device, which could be managed by the operating system.

Obsolescence


VxDs are not usable in Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was...

 or its descendants. Starting with Windows 2000, these operating systems use the Windows Driver Model
Windows Driver Model
In computing, the Windows Driver Model — 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 such as Windows 95 and Windows 3.1, as well...

 (WDM), while Windows NT 4 and earlier versions must use drivers written specifically for them. Windows Vista
Windows Vista
Windows Vista is a line of operating systems developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

 supports both WDM and the newer Windows Driver Foundation
Windows Driver Foundation
Windows Driver Foundation is a set of Microsoft tools that aid in the creation of device drivers for Windows 2000 and later versions of Windows....

 which includes Kernel-Mode Driver Framework (KMDF) and User-Mode Driver Framework (UMDF). KMDF is also available for download for Windows XP and Windows 2000, while UMDF is available only for Windows XP.