HAL
読み:ハル
外語:HAL: Hardware Abstraction Layer

 ハードウェアソフトウェアの中間に位置し、ソフトウェアによって実装された抽象化のためのレイヤー。
目次

概要
 HALの考え方はシステムごとに千差万別である。カーネル空間にHALを置く場合と、ユーザー空間に置く場合とがある。
 カーネル空間のHALは、デバイスドライバーのような存在であることが多く、ハードウェアにかかわらず共通のAPIを提供するような設計となることが多い。
 ユーザー空間に置く場合、いわゆるミドルウェアとカーネルを分離して、上下を緩い繋がりとする設計で見られ、例えばAndroidなどはこのような設計である。ハードウェアの違いは、カーネルとHALのどちらかまたは両方で吸収できる。

特徴
 設計ごとにHALの扱いは異なるが、いずれにせよハードウェアの違いをHALで吸収して共通のAPIを提供する。
 これにより、上位アプリケーションがハードウェアにアクセスする場合でも、上位アプリケーションを殆ど変更せずに済む。

再検索