hal

- overview of hardware abstraction layer

Description

The Hardware Abstraction Layer (HAL) provides a view of the various hardware
attached to a system. This view is updated dynamically as hardware configuration
changes by means of hotplug or other mechanisms. HAL represents a piece
of hardware as a device object. A device object is identified by
a unique identifer and carries a set of key/value pairs, referred to as
device properties. Some properties are derived from the actual hardware, some are
merged from device information files (.fdi files), and some are related to
the actual device configuration.

HAL provides an easy-to-use API through D-Bus. D-Bus is an IPC framework
that, among other features, provides a system-wide message-bus that allows applications to
talk to one another. Specifically, D-Bus provides asynchronous notification such that HAL
can notify other peers on the message-bus when devices are added and removed,
as well as when properties on a device are changing.

In the Solaris operating system, HAL is supported by a daemon, hald(1M),
and a set of utilities that enable the adding and removing of
devices and the modification of their properties.