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.