Drivers run as userspace services, each owning its device state and hardware operations in a separate address space. Applications and other services access them through IPC, with client libraries exposing ordinary function interfaces. Drivers are trusted components: driver privilege permits port I/O and restricted mapping/interrupt operations, including access to device and DMA memory.
Communication and ownership
Service interfaces express device operations, such as reading sectors or setting a video mode. Register access, interrupt handling and hardware sequencing stay inside the responsible driver.
Messages carry commands, identifiers, status and buffer references. Bulk data uses shared memory: AHCI transfers through driver-owned shared DMA buffers, and video drivers share framebuffers with clients. This keeps data transfers separate from request/reply traffic.
Transaction IDs associate replies with requests. Each protocol defines buffer ownership, completion, errors and cancellation. A timeout ends the caller’s wait; an accepted write may still complete. Shared buffers remain owned until the protocol confirms that outstanding access has finished.
Services
| Service | Client library | Role |
|---|---|---|
|
|
Device registration and driver startup. |
|
|
PCI enumeration, configuration space and BAR access. |
|
|
ACPI firmware, events and power preparation. |
|
|
Keyboard and mouse input pipes; |
|
|
SATA disk geometry, read/write and flush; |
|
|
Shared framebuffer and video mode/update requests. |
|
|
Disk and partition administration, volume discovery, mount coordination and boot-code installation. |
|
Filesystem API, |
FAT12/16/32 volumes and bounded FAT32 formatting; storage manager mount/flush/unmount control. |
Startup and discovery
The kernel starts pcidriver, acpidriver and the devicemanager, then ps2driver and Ć’enster.
The device manager selects VMSVGA when present, otherwise the boot framebuffer,
and starts ahcidriver, storagemanager and fatdriver.
Drivers register a device type and serving task with the device manager. Each
registration receives a system-wide device ID and is published on the replayable
device topic. Consumers use the announced driver task and ID for requests.
ahcidriver exposes DMA/LBA48 disks with 512-byte logical sectors. storagemanager discovers whole-disk, MBR and GPT volumes and announces them on
the replayable volume topic. Filesystem workers probe announced regions, claim
them exclusively and confirm their VFS mounts through libstorage. FAT uses
/mount/fat<DISK_ID> for the first partition and appends p<PARTITION> for others.
On installed systems, the selected FAT boot volume becomes / before the
interactive desktop starts. See Storage management,
Filesystem delegates and
Shutdown and reboot for service lifecycle contracts.