Back-to-Basics: What is a driver?

When the word driver is mentioned, the first thing you probably think of is the driver of a vehicle, or maybe a golf club if you are a golfer. But this article is really about device drivers, which are small computer programs.

Device drivers are software programs that take care of the communication between an operating system and computer hardware. They translate the generic instructions that the operating system will issue to hardware devices into specific instructions for a specific piece of hardware from a hardware manufacturer.

In Windows you can use the Device Manager to see which devices are present in the computer and what drivers they use.

Who makes device drivers?

A lot of device drivers are included with the operating system itself. If we look at Windows device drivers, then Microsoft makes a lot of device drivers, either by itself or in cooperation with various hardware manufacturers. This will generally ensure that the device driver is best suited for the appropriate Windows version and the hardware devices of those manufacturers.

But there are also a lot of manufacturers that make device drivers themselves, without the help of Microsoft. They will simply use the specifications for a driver from Microsoft for the Windows operating systems, and have their programmers write the device driver. This type of driver is often not included with the operating system, but is available only from the hardware manufacturer directly.

Why is a driver important?

Device drivers ensure that the computer hardware will work as intended. Without the driver, the operating system (Windows) will not be able to recognize the device when inserted or connected to the computer.

Using the correct driver will also ensure the hardware device will be fully supported. The wrong driver might offer only partial functionality. For example, a printer scanner device can be used for printing but not for scanning, or a video card will only offer limited screen resolutions, even when capable of higher resolutions.

If the wrong driver is used, there is also the risk of system instability. Hardware resources that are accessed by the driver software might be the wrong ones, and can cause the operating system to crash or hang. In Windows a blue screen error can be the result. The reason for this is that device drivers have a lot of high level access in the operating system to allow them to interact with the hardware devices, so if something goes wrong, it is immediately serious.

What is a signed and unsigned driver?

Signing refers to digital signing, which is a way to certify that a driver, or driver file, is authentic. In the same way that your signature under a document will show that you signed the papers, a digital signature is used to show that a driver was created by a certain software maker or hardware manufacturer. It also tells you that the driver was not modified after it was signed.

An unsigned driver therefore is simply a driver that has not been digitally signed, so there is no way to know for certain where the driver originated from or if it has been modified. That does not mean however that the driver is not valid, as some hardware manufacturers chose not to sign their drivers. Typically that only happens for older drivers, but many of those can still be used.

Windows Vista  and Windows 7 will not allow unsigned drivers to be installed by default, as a way to ensure the integrity of the operating system.

What are driver files?

If we specifically look at Microsoft Windows, then there are a few file types, or extensions, that are driver files. Older versions of Windows used the .VXD extension for driver files. But Windows XP, Vista and Windows 7 all use the .SYS file extension for drivers. This is the main driver, but there are other files associated with a driver, either for installation (like: .INF, .CAT, .CAB, .MSI), or for operation (like: .EXE, .DLL, .CPL).

Depending on the hardware device, the size of a driver can vary significantly. Some drivers require only minimal installation, and only have a .SYS, .INF, and .CAT file, while others have a lot of support files for functional reasons and control panels, which allow the user to configure the hardware device. Typically printer drivers and video drivers tend to have large driver installation packages.

Why should you update drivers?

Like any software, drivers are created by humans and as a result they can contain errors, or bugs. These software defects will come up when the driver is used, so a driver update is created to fix those bugs.

Apart from fixing bugs, driver updates can also contain improvements to the driver software itself. This can result in better performance of the hardware supported by the driver, or new functionality becoming available to the operating system.

A third reason to update drivers is to make sure that maximum compatibility between the hardware and the operating system is guaranteed. For new versions of Windows, like Windows 7, it is often the case that older device drivers are initially used. This allows manufacturers to specify that their hardware is compatible with new Windows version, even if the driver is not the best possible version for that new Windows version yet. So driver updates are released later on to improve on the compatibility.

In the same way, new versions of the hardware are supported by existing drivers, while new versions of the drivers are created to improve the support for the new hardware version.

Run a quick driver scan