Driver

image of devices updating on an operating system.

What is a driver?

A driver is a program that enables communication between an operating system (OS) and a hardware component or software application. Every computer uses multiple drivers to control the various installed hardware components and applications.

Without these drivers, the hardware and software will not function properly, and in some cases may not be able to function at all. There are two primary types of drivers: device drivers and software drivers.

How does a driver work?

Drivers are files that send requests from an OS to hardware or applications to instruct them on how to function. The drivers translate the communications from the OS into a format that is understandable by the hardware or application.

Device drivers

Device drivers are designed to communicate between an OS and a device. These drivers are typically created by the same company that manufactured the device. However, when a device driver is  are created by a third party, it is designed according to a published hardware standard.

Not all device drivers communicate directly with the device itself. In some cases, there are several drivers layered in a stack that enable communication. The drivers on each end of the stack will communicate directly with either the device itself or the OS. The function driver communicates directly with the device. The drivers in between manipulate the communication into different formats that can be understood by the machine. These are called filter drivers.

What devices use drivers?

The vast majority of devices and software that connect to a machine require a driver to operate. Here are some of the most common devices that require drivers:

Software drivers

Unlike device drivers, software drivers are not associated with hardware devices. These programs enable communication between OS and software applications. The main purpose behind software drivers is to enable or disable access to protected data that is only available to programs in kernel mode. As a result, software drivers virtually always run in kernel mode.

Kernel mode vs. user mode

Both device and software drivers have the ability to run in both kernel mode or user mode. User mode is the general-purpose option and is used to carry out most communication. It also has the benefit of offering better stability than kernel mode.

Kernel mode is primarily used by the device’s core operating system components for accessing protected data. Drivers in kernel mode are implemented as discrete, modular components with well-defined functionalities. These drivers are also preferred for low-latency networking applications.

Virtual device drivers

Virtual device drivers are relatively new technology. They use virtualization technology to emulate a hardware device in virtualized environments on hybrid or cloud networks. They give guest operating systems the illusion of accessing hardware.

Updating drivers

Drivers are often updated by the manufacturer for multiple reasons. Manufacturers often discover glitches or errors called bugs that can be fixed with an update. Updates can be used to add new features to a device or increase its performance. Security patches are also implemented through updates to remove vulnerabilities.

 

Vangie Beal
Vangie Beal
Vangie Beal is a freelance business and technology writer covering Internet technologies and online business since the late '90s.

Related Articles

Database Software

All organizations must store and manage data in a database. Database software is key to efficiently accessing, controlling and sharing the information stored in...

SQL

What is SQL? SQL is a standardized query language for requesting information from a database. It is an abbreviation for structured query language and is...

Main Memory

Main memory refers to physical memory that is internal to the computer.   More specifically, main memory is a computer's short-term storage. What does main...

GUID

  By Vangie Beal What is a GUID? A Globally Unique Identifier (GUID) is a unique ID that is computed by Windows and Windows applications. It's a...

Change Order

When changes need to be made to a project after the project has...

Container Registry Software

Container registry software is designed to store container images while inactive and offers...

Accenture

Accenture is a global professional services company that specializes in information technology (IT)...