A device driver (or device handler) is a program which controls a particular type of device that is attached to a computer. It is effectively the interface between the device and the operating system. There are device drivers for printers, displays, CD-ROM readers, diskette drives, and so on. Device drivers regulate or control computer hardware downloading and installing the latest device drivers frequently resolves hardware problems.
Device drivers are often specific to a particular release of an operating system, eg: Windows 2000 device drivers may not work with Windows XP. Many device drivers are built into the operating system, but if you buy a device which was produced after the operating system was released, you may have to explicitly install a device driver which converts the general input/output instructions of the operating system to messages that the device type can understand.
Microsoft suggests that only device drivers which have passed Windows XP compatibility testing should be installed on a Windows XP system. If you try to install a driver that has not been approved for Windows XP, you will see a warning message. Compatible devices should display the "Designed for Microsoft Windows XP" logo on the external packaging and on the device itself.
Some Windows programs use virtual device drivers which interface with the Windows Virtual Machine Manager. There is a virtual device driver for each of the principal hardware devices, including the hard disk drive controller, keyboard and serial and parallel ports. Virtual device drivers handle software interrupts from the system rather than hardware interrupts and are used to maintain the status of a hardware device that has changeable settings.
Device drivers are not held in ROM like the BIOS, but are loaded into RAM from disk every time the computer starts up. Once a device driver has been loaded, the Kernel can call upon device driver processes to deal with any interrupt from the device, and the I/O system can use device driver processes to control it.
A Windows device driver file usually has a file name suffix of DLL or EXE. A virtual device driver usually has the suffix of VXD.
Next: Device Management