Driver Atlas

The Conversation Between System and Device

A request-and-response vocabulary for the layered exchange between host software and hardware.

The system asks through an interface

Applications and services do not generally write arbitrary device registers. They submit operations through documented interfaces, and the driver turns those operations into the device’s command or transfer model.

The device reports state

Completion, status, descriptors, interrupts, and capability fields tell the host what happened or what the device can represent. The driver interprets those signals in the context of a request and lifecycle state.

Conversation includes refusal

A device or layer can reject an unsupported operation, defer it, or report that a resource is unavailable. Such responses are part of a contract; they are not necessarily evidence that the entire stack is absent.

Timing and ownership complete the model

The request must have a caller, an owner, a buffer, a state, and a completion path. These fields turn “software talks to hardware” into a concrete description of messages and resources.

Reference facts

Request path
Application intent → host interface → driver operation → device command.
Response path
Device state, completion, capability, or refusal returns through defined layers.

Questions and answers

Can the device initiate communication?

Yes. Interrupts, status changes, and transfer completions let hardware signal the host within the transport contract.

What makes a request complete?

The responsible layer records a result and releases or transfers ownership according to the interface and lifecycle rules.

Further reading