This article needs to be updated.(January 2024) |
HAL (Hardware Abstraction Layer or rather Hardware Annotation Library) is a software subsystem for UNIX-like operating systems providing hardware abstraction.
HAL is now deprecated on most Linux distributions and on FreeBSD. Functionality is being merged into udev on Linux as of 2008–2010 and devd on FreeBSD.[citation needed] Previously, HAL was built on top of udev.[citation needed]
Some other operating systems which don't have an alternative like udev or devd still use HAL.
The purpose of the hardware abstraction layer was to allow desktop applications to discover and use the hardware of the host system through a simple, portable and abstract API, regardless of the type of the underlying hardware.[1]
HAL for Linux OS was originally envisioned by Havoc Pennington. It became a freedesktop.org project, and was a key part of the software stack of the GNOME and KDE desktop environments. It is free software, dual-licensed under both the GNU General Public License and the Academic Free License.[2]
HAL is unrelated to the concept of Windows NT kernel HALs, which handle some platform-specific core functionality within the kernel, such as interrupt routing.
HAL is licensed to you under your choice of the Academic Free License version 2.1, or the GNU General Public License version 2