Device-driver process
ID: device-driver-process
A device-driver process executes device-management logic as an operating-system process, communicating with clients through an inter-process interface. A microkernel can grant that process access to selected device registers, memory regions and interrupt notifications while keeping unrelated application address spaces separate. The device driver supplies hardware-specific operations; the kernel need only mediate the permitted resources and communication.
For a sensor, a client sends a request, the driver starts a conversion, an interrupt announces completion and the driver returns the measured result to that client. Concurrent requests need identifiers and an ordering rule so that replies cannot be exchanged accidentally. A driver in a separate process can improve fault containment, but it still needs correct memory/DMA permissions and recovery behavior. The seL4 Microkit documents explicit protection domains, mapped memory regions, interrupt handling and communication channels as concrete mechanisms for such component boundaries.[ref]
New to topics? Read the docs here!