Computer program that acts as an intermediary between the operating system and a device such as a disk drive, video card, printer, or keyboard.
The driver must contain a detailed knowledge of the device, including its set of specialized commands. The presence of a separate driver program frees the operating system from having to understand the details of every device; instead, the operating system issues general commands to the driver, which in turn translates them into specific instructions for the device, or vice versa.