A função do HAL (hardware abstraction layer) é apresentar
a uma parte do sistema operacional dispositivos abstratos de
hardware desprovidos de especificidades e idiossincrasias
das quais o hardware está repleto. Esses dispositivos são
apresentados na forma de serviços independentes da
máquina, os quais podem ser usados pelo restante do sistema
operacional e pelos drivers.