What is a driver, from a computer standpoint? Ex: Why does a printer need a specific driver? Is there no standard?

356 views

Last night, I tried to set up an older printer to a new laptop, but I kept running into driver issues. I’ve always dealt with that, but never understood what it was and why it was necessary.

In: 13

12 Answers

Anonymous 0 Comments

> What is a driver, from a computer standpoint?

it’s a piece of software that talks to a specific subset of hardware.

> Why does a printer need a specific driver?

because the electronics used to build it differs from model to model, and controlling one piece of silicone is done differently than another one.

> Is there no standard?

there are standards – PostScript, PCL, raw text and probably others, but they are higher level than talking directly to an IC that sits inside your printer.

Anonymous 0 Comments

The driver is an interface layer. Each device has it’s own internal structures and commands. The driver is the piece of software that transforms what the computer wants the device to do into commands that the device can understand. The operating system has a standard set of commands that it needs the device to understand which is the interface that the driver is required to match, so that is standardized, as are the formats used for data between the devices.

Imagine it like this: Your printer is a factory in China and your computer is a design company in the USA. In order to get what you want from the factory in China, you need to have a translator translate your request for work into the Chinese, the language that the factory understands. If the factory was located in Germany, you would need a driver to translate it into German instead. However, that blueprints for the thing you want built wouldn’t need change because that is handled using open standards that everyone has agreed to use. If we extend the metaphor a little bit, we can also view the USB standard as a post office, which using a standard addressing and data format to physically transport data and commands from place to place.

Now, the reason why drivers are such as issue for older hardware is that drivers need to be specific to the hardware in question and it needs to match the interface used by the operating system. Often, devices are effectively abandoned by their manufacturer, and they don’t provide drivers that are up to date with the current operating systems for their older hardware as a cost saving measure. Drivers will also have bugs like all other pieces of software and maintaining them just doesn’t make financial sense at some point.