Computer Programming Software Terms, Glossary and Dictionary
Device driver, or a software driver, is a specific type of computer software, developed to allow interaction between the computer and hardware devices. Each device driver is typically a piece of operating system-specific as well as hardware-dependent software that makes it possible for application software to attach to, read and write data from, and change the behavior of the peripheral device. Typically this constitutes an interface for communicating with the device, through the specific computer bus or communications subsystem that the hardware is connected to, providing commands to and/or receiving data from the device, and on the other end, the requisite interfaces to the operating system and software applications. Device driver enables another program, typically an operating system or applications software package or computer program running under the operating system kernel, to interact transparently with a hardware device, and usually provides the requisite interrupt handling necessary for any necessary asynchronous time-dependent hardware interfacing needs.