Aviva Directory » Computers & Internet » Software » System Software » Device Drivers

A device driver is a type of software program that controls a specific hardware device attached to a computer.

Device drivers are usually small programs, but they are essential, as they provide the interface between the computer and other hardware devices, such as the mouse, keyboard, monitor, storage devices, audio and video cards, and so on. For example, the printer driver tells the operating system and, by extension, whatever program you have the thing you want to print open in, exactly how to print the information on the page.

Device drivers are like translators between the program you're using and a device that the program needs to utilize, such as a hard drive for saving a file. In most cases, the hardware and the software were created by different companies and speak completely different languages, so the driver is needed, as a translator, to allow them to communicate.

It is because of drivers that most software programs don't need to know how to work directly with the hardware on your computer. Otherwise, software programs would have to be custom made for your computer and the hardware that is connected to your computer.

Device drivers usually enjoy a high level of privilege within the operating system's runtime environment, and some are linked directly to the operating system kernel, a portion of the OS that remains memory resident to handle execution for all other code, including device drivers. Among the tasks handled by device drivers include relaying requests for device access and actions from the OS and its active applications to their respective hardware devices, as well as delivering outputs or status messages from the devices to the OS, which passes it on to the applications.

Thus, device drivers are required for the computer to be able to interface and interact with specific hardware devices connected to it. Drivers define the messages and mechanisms by which the OS and applications can access the device, or make requests of the device, as well as handling responses.

In early computers, device driver software would usually be written in assembly language, a low-level language that can access the hardware and CPU instructions directly. However, most modern device drivers are written in C or C++, as these languages offer access to both low-level instructions and more complex program and data structures.

Most often device drivers are preinstalled on the computer, packaged with the device, or made available on the device manufacturer's website, which will include updates. Open-source drivers are also available, however.

The focus of this category is on computer device drivers.



Recommended Resources

Search for Device Drivers on Google or Bing