HAL (software)
# HAL (software)

Hardware Abstraction Layer ou Hardware Annotation Library (HAL), em português Camada de Abstração de Hardware ou Biblioteca de Anotação de Hardware, é um subsistema de software para sistemas operacionais do tipo UNIX que fornece abstração de hardware.
O HAL hoje está obsoleto na maioria das distribuições Linux e no FreeBSD. Sua funcionalidade está sendo incorporada pelo udev no Linux desde 2008-2010 e pelo devd no FreeBSD. Anteriormente, o HAL foi construído no topo do udev.
Alguns outros SOs que não possuem um software alternativo como udev e devd, ainda usam o HAL.
O propósito da camada de abstração de hardware era permitir que aplicações desktop descobrissem e usassem o hardware do sistema hospedeiro por meio de uma API portável e abstrata, independentemente do tipo de hardware subjacente.
O HAL para Linux foi originalmente concebido por Havoc Pennington. Ele se tornou o projeto freedesktop.org e foi uma parte chave da pilha de softwares dos ambientes desktop GNOME e KDE. Ele é um software livre com licença dual sob a GNU General Public License e Academic Free License.
HAL não está relacionado com o conceito dos HALs do núcleo do Windows NT, que manipula algumas funcionalidades importantes específicas de plataforma dentro do núcleo, como roteamento de interrupções.

## Veja também

* devfsd
* eudev
* udev
* Sistema de arquivos virtual
* Camada de abstracção de hardware