HAL (ソフトウェア)
HAL(ハル)は デーモン型のHardware Abstract Layerの一種であり、デスクトップアプリケーションがハードウェア情報に容易にアクセスできるようにすることでバスやデバイスの種類に寄らずに各種デバイスを利用できるようにするオープンソースプロジェクトである。これにより、GUIが一貫した形式で全てのリソースをユーザーに提示できる。
例えば、HAL はリムーバブルメディアドライブの情報を収集し、メディアの出し入れをユーザーのデスクトップ環境に通知する。
従来、デスクトップアプリケーションであってもハードウェアへのアクセスは直接カーネルを使って行うしかなかった。しかし、カーネルはデバイスについて全てを知っているわけではないため、この方式では正確さに難点があり、かつ面倒だった。例えば、MP3プレイヤーやデジタルカメラなどはユーザインタフェースでは単なるハードディスクとして示されることがあった。従って、システムに接続されている周辺機器を一覧するようなデスクトップのユーザインタフェースはほとんどなかった。