Hardware Abstraction Layer
Hardware Abstraction Layer (HAL、ハードウェア抽象化レイヤー) とは、コンピュータのハードウェアとそのコンピュータ上で動作するソフトウェアの間に存在する、ソフトウェアで実装した抽象化レイヤーである。 オペレーティングシステム (OS) のカーネルからハードウェア毎に異なる差異を隠蔽する機能を持ち、それによってカーネルコードは異なるハードウェアのシステム上で動作してもほとんど変更する必要がなくなる。
Source: Wikipedia — Hardware Abstraction Layer (CC BY-SA 4.0)