Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A software device driver is software that enables an operating system to communicate with a device. It translates or handles operating-system requests in a way the device or another system component can act on, then helps return results. Not every driver controls physical hardware: some drivers handle software-only tasks.

What does a device driver do?

An application usually does not communicate directly with a device. Instead, it asks the operating system to perform an operation. The operating system passes the request to the appropriate driver, which handles communication with the device or another component; results travel back through the operating system to the application.

This is a simplified view. A real system may use a stack of drivers, with one component passing requests to another. Microsoft Learn defines a driver broadly as “any software component that observes or participates in the communication between the operating system and a device.” Microsoft’s driver overview explains the request-and-response flow.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Does every driver control physical hardware?

No. Some drivers are software-only: they handle input/output or provide an interface between software components without sending requests to a physical device. In Windows, a kernel-mode software driver still represents its target through a device object, even when no physical device is associated with it. Microsoft describes these cases in its documentation on choosing a driver model and device objects.

Do all drivers run in kernel mode?

No. Windows drivers can run in user mode or kernel mode. User-mode drivers can provide an interface between an application and kernel-mode drivers or other operating-system components. Kernel-mode drivers share an address space with core operating-system components, so a fault in one can corrupt operating-system data or crash the system. These are Windows-specific execution modes, not a universal classification for every operating system. See Microsoft’s overview of user mode and kernel mode.

What are function, filter, and bus drivers?

Windows drivers can be layered, and their role depends on where they sit in the stack:

  • Function drivers control a particular peripheral or device.
  • Filter drivers add to, modify, or observe processing in a driver stack.
  • Bus drivers support devices connected through a bus or expose the devices attached to it.

Some Windows drivers also implement file systems or other higher-level functions. These role names describe Windows driver architecture; they should not be assumed to classify drivers in every operating system. Microsoft’s Windows driver types documentation describes the roles and layering.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How does this differ across operating systems?

The broad purpose of a driver is similar across systems, but each operating system defines its own driver model and conventions. In Linux, for example, platform-device discovery and binding are handled outside the driver. Driver callbacks such as probe() and remove() participate in the platform device’s lifecycle. Linux also represents a driver as a structure that can support multiple devices, rather than treating each device as a separate driver. See the Linux Kernel documentation for platform devices and drivers and device drivers.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Is a driver always made by the hardware manufacturer?

No. A driver may come from the operating-system vendor or another developer. If hardware follows a published standard, the operating-system vendor may supply a driver; Microsoft notes this possibility for Windows in its driver overview.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.