> [!IMPORTANT]
> **Important:** This section contains information that is specific to the new version of the driver framework (DFv2).

Drivers provide software interfaces for communicating with hardware (or virtual)
devices that are embedded in or connected to a system. In Fuchsia, drivers are
user-space [components](https://fuchsia.dev/docs/concepts/components/v2/README). Like any other Fuchsia component, a driver
is software that exposes and receives FIDL capabilities to and from other
components in the system. Using these FIDL calls, Fuchsia components interact
with drivers, which are bound to specific devices in the system.

Similar to Fuchsia's component framework, which manages Fuchsia components, the
[driver framework](https://fuchsia.dev/fuchsia-src/concepts/drivers/driver_framework) manages the lifecycle and topology of
all devices (known as [nodes](https://fuchsia.dev/fuchsia-src/concepts/drivers/drivers_and_nodes)) and drivers in a Fuchsia system.

## Table of contents

- [**Driver framework (DFv2)**](https://fuchsia.dev/fuchsia-src/concepts/drivers/driver_framework): Explains the core concepts and structure of Fuchsia's new driver framework.
- [**Drivers and nodes**](https://fuchsia.dev/fuchsia-src/concepts/drivers/drivers_and_nodes): Explains the fundamental concepts of nodes, which are the building blocks in DFv2.
- [**Driver binding**](https://fuchsia.dev/fuchsia-src/concepts/drivers/driver_binding): Explains the process of how the driver manager matches and binds a driver to a node.
- [**Driver communication**](https://fuchsia.dev/fuchsia-src/concepts/drivers/driver_communication): Explains different communication methods: driver-to-driver and non-driver-to-driver.
- [**Mapping a device's memory in a driver**](https://fuchsia.dev/fuchsia-src/concepts/drivers/mapping-a-devices-memory-in-a-driver): Explains how a device's memory region is mapped in a driver host.
- [**Driver dispatcher and threads**](https://fuchsia.dev/fuchsia-src/concepts/drivers/driver-dispatcher-and-threads): Explains how dispatchers allow drivers to schedule asynchronous work on threads.
- [**Driver dispatcher performance**](https://fuchsia.dev/fuchsia-src/concepts/drivers/driver-dispatcher-performance): Discusses performance aspects of a dispatcher's inlined and non-inlined calls.

To learn more about creating DFv2 drivers, see the
[**DFv2 driver development**](https://fuchsia.dev/docs/development/drivers/dfv2-overview) section.
[](https://issues.fuchsia.dev/issues/new?component=1439230&template=1881640&description=Issue+on:+https://fuchsia.dev/docs/concepts/drivers/README.md "Report a bug or suggest improvements on this page") [](https://cs.opensource.google/fuchsia/fuchsia/+/main:docs/concepts/drivers/README.md "View the source code of this page") [](https://ci.android.com/edit?repo=fuchsia/fuchsia/main&file=docs/concepts/drivers/README.md&cloneRepo=fuchsia/fuchsia:refs/heads/main&fullPath=fuchsia/docs/concepts/drivers/README.md "Edit the source code of this page")