Studio render of a precise steel bridge spanning between a frosted acrylic system block and a generic printer, small tiles crossing it

Article · 3 min read

What a driver really is

A driver is the interpreter between general-purpose software and one particular piece of hardware. This article follows a single keypress and a single printed page to show what that interpretation involves in practice.

Two parties that speak differently

An operating system wants to treat hardware in broad, predictable terms: write these bytes to storage, play this buffer of sound, draw this rectangle. Hardware, by contrast, understands registers, timing signals and command formats defined by whoever designed the chip. A driver is the code that turns the first kind of request into the second, and carries the answers back.

Without that translation every application would need to know the private details of every printer, network card and microphone in existence. Drivers let applications stay general while hardware stays specialised.

Following a keypress

Press a key and the keyboard's own small controller notices the change and reports it over its connection, often USB. A bus driver receives that report and recognises it as coming from a device that follows the human-interface standard. A class driver for that standard decodes the report into a key code, and the operating system turns the key code into a character for the application in focus.

Several drivers took part, each handling one layer. None of them needed to know which application would receive the letter, and the application did not need to know which brand of keyboard sent it.

Following a printed page

Printing travels the other way. An application describes a page in general terms. Windows queues the job, and the printer driver converts the description into the language the printer accepts, perhaps a page-description language, perhaps a raster stream of dots. The spooler then sends the result along the connection, whether USB or a network.

Here the driver carries more knowledge about the device: paper sizes, tray names, duplex units. That is why printers often benefit from a maker's specific package even when a generic one can produce plain pages.

What a driver is not

A driver is not the hardware's own built-in software; that is firmware, stored on the device. It is not an application, though it may come bundled with one that offers settings. And it is not a speed booster: a correct driver allows hardware to do what it was designed to do, but cannot make it exceed that design.

Keeping these boundaries in mind makes pages for device assistance easier to read, because they frequently mix drivers, firmware and utilities in one list.

Where drivers come from

Windows includes a large set of drivers for standard device types and receives more through Windows Update. Device makers publish packages for their own products on their reference websites. Computer builders often adapt those packages for specific models. Knowing which of these sources supplied the driver you have is the first step to reading its version meaningfully.