device driver

Contributor(s): Alex Gillis

A device driver is a software program that controls a particular type of hardware device that is attached to a computer. When buying an operating system, many device drivers are built into the product. However, if a user later buys a new type of device that the operating system did not anticipate, the new device driver will have to be installed. A device driver essentially allows smooth communication between a connected hardware device and the operating system (OS).

Hardware that uses  a device driver to connect to a computer include printers, displays, CD-ROM readers, network or sound cards, computer mice or hard disks. Device drivers will instruct a computer on how to communicate with each input/output (I/O) device through translating the operating system's I/O instructions to a software language the hardware device understands.

Types of device drivers

Device drivers can generally be categorized as kernel device drivers or user device drivers. Kernel device drivers load with the OS as part of the system's memory. This is done so the device driver can be activated as soon as it is needed. However, kernel device drivers are loaded into the systems RAM, meaning there can only be a limited amount of device drivers running at one time before system performance begins to be impacted.

User mode device drivers provide a dedicated API at a user level to interrupt memory management, avoiding the problems found in kernel device drivers. User mode device drivers are triggered by the end-user. If there is an error, this type of driver can restart without affecting the rest of the system and is useful for USB devices.

Some Windows programs are virtual device drivers that interface with the Windows Virtual Machine Manager. There is a virtual device driver for each main hardware device in the system, including the serial and parallel ports, hard disk drive controller and keyboard. They are used to maintain the status of a hardware device that has changeable settings and to emulate a hardware device in virtualization environments. Virtual device drivers handle software interrupts from the system rather than hardware interrupts.

In Windows operating systems, a device driver file usually has a file name suffix of DLL or EXE. A virtual device driver usually has the suffix of VXD .

This was last updated in March 2019

Continue Reading About device driver

Dig Deeper on Unified endpoint management

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

What hardware devices do you use that require device drivers?
Nicky Boy Jonathan Marigold Nathan Naran Eh Eh!


File Extensions and File Formats

Powered by: