Device drivers are crucial to the system’s performance. Yet, it seems many PC users (even those who consider themselves advanced) have a vague understanding of the role of a driver in the system, its functions, types, and so on.
This post is a short non-technical rundown that explains how drivers work and why they are important. Such a guide will be useful for any PC user eager to use his device to its peak efficiency.
What’s a Device Driver?
According to Wikipedia, a driver is a computer program that operates or controls a particular type of device that is attached to a computer.
Simply put, a driver is a software element that connects hardware with the operating system. Through a driver, the kernel of a PC is connected to hardware elements. Practically speaking, without system drivers, the following would be impossible:
- Printing a page of text;
- Playing an MP3 file (a system uses sound drivers to translate binary could into MP3);
- Using a keyboard, a video card, a mouse, etc.
The purpose of a device driver is to ensure the hardware will be connected smoothly to any version of the operating system.
How Does a Driver Work?
An effective way to think of drivers is by perceiving them as intermediaries between a program on a PC and a piece of hardware it uses to run. On their own, the software and the hardware are in no way connected – technically speaking, they speak different languages.
Through drivers, however, a connection between the two is possible. It creates a communication protocol and the interface, thus enabling all software-hardware interactions. The impact of a system driver is tremendous – without it, building and running software would be practically impossible.
Kernel vs User Mode Drivers – What’s the Difference?
There are various types of device drivers – those for the motherboard, BIOS, virtual devices, and so on. However, they are commonly classified into two broad categories – kernel and user mode drivers. What’s the difference between the two? Let’s take a closer look and try to draw distinctions:
Kernel drivers are used for loading an operating system into the memory. As there’s a limit to Kernel drivers a system can run simultaneously due to their high CPU usage and system impact, Kernel mode devices are usually reserved for the most trusted kernel-level functions of the computer. Those include running BIOS, the motherboard, the processor, and so on.
A PC user should keep in mind that a crash of a kernel driver can be fatal to the system and crash the entire PC.
User Mode Drivers
A user mode driver is used when a PC user triggers a situation in which a new piece of hardware (not kernel-based) is connected to the computer. This includes most plug-and-play devices – printers, keyboards, microphones, etc. Unlike a kernel driver, a user mode one doesn’t have direct access to hardware – the driver interacts with all hardware elements through a system’s API.
The good news about user-mode drivers is that their crashes are in no way fatal. A system can still be recovered after a driver stopped responding.
To lower the system impact of user-mode drivers, you can write them to a disk. The only exception to this practice is the gaming drivers which are better to be saved in RAM.
Other Types of Drivers
There are other classifications of drivers based on their objective and performance. In this block, you’ll find out about the main types of device drivers and differences between them.
Block vs Characters
Both block and character drivers are used for reading and writing data. Depending on the usage, USBs, hard disks and CD-ROMs can be classified as one or the other.
Character drivers write one character of data equivalent to a byte of information at a time. The rule of thumb is that any device connected to a serial port uses a character driver. This type is also used for serial buses. Mouse, as a serial device, is a solid example of using character drivers.
Block drivers, on the other hand, can read and write multiple characters at a time. The name of the type derives from its operating mode. A block driver works by creating a block and filling it in with as much data as it can contain. Such a type of device driver is used by the hard disk or CD-ROM (latter, however, requires the kernel to check if the device is connected to a PC each time when invoked by any software).
Virtual device drivers
Virtual device drivers are used for running emulation software. The most common examples of such include virtual testing environments or a VPN. In order to run an emulator, a system may need to create a virtual network card – in order to do that, the driver is required. That’s when a virtual device driver is needed to ensure the smooth performance of an emulator, enable Internet connection, and so on.
Generic vs Original Equipment Manufacturer
Another distinction to draw between device drivers is in finding out of they are generic or OEM (original equipment manufacturer)-related.
Any driver used by the operating system is, with all likelihood, generic. OEM-related ones can be used by various software publishers or are specific for a particular device.
Windows 10, for instance, runs using generic drivers.
However, when there isn’t a generic driver for particular hardware designed to be connected to a PC, a manufacturer will design a proprietary one that will be OEM-related. A user would have to install these drivers manually after connecting the equipment to a device.
Common for the 1990s and early 2000s, OEM drivers are becoming a rarity now as most brands use the built-in ones.
Device driver management
Now that you know more about drivers, you might wonder where to see the list of all running drivers control their performance and system impact. All of the above can be checked in Device Manager, available for all versions of Windows. Most of the time, there’s no need to manage or change drivers as they are usually installed automatically.
Still, to ensure you use the latest version of all device drivers, don’t forget to check Windows Update Manager every once in a while. Updating drivers is a user’s, not the manufacturer’s responsibility.
The good news is, there are dozens of driver update tools in the market. They will check the web for new versions and install them automatically. Remember that driver updates are always free. Whoever tells you to pay for a new version, is in for a rip-off. Pay attention to similar scam and avoid it.
Device drivers are highly impactful when it comes to smooth user experience and efficient software-hardware connection. Knowing the difference between most common driver types as well as the basis of their management will improve your confidence as a PC user and protect you from being scammed by attackers.