HAL: Hardware Abstraction Layer

Mit Hardware Abstraction Layer (HAL) ist eine Schicht des Betriebssystems gemeint, die zwischen dem Betriebssystemkern und der Hardware sitzt. Das Betriebssystem kontrolliert auf diesem Wege nahezu alle Zugriffe auf die Hardware über die Hardware Abstraction Layer. Eine Software, die direkten Hardwarezugriff benötigt, kann daher nicht eingesetzt werden. Der Betriebssystemkern greift ebenfalls nicht direkt auf die Hardware zu, sondern nur über die Hardware Abstraction Layer.

Trotz dieser abgeschotteten Konstruktion wurde eine Möglichkeit offen gelassen, direkt mit der Hardware zu kommunizieren. Manche Gerätetreiber, für installierbare und deinstallierbare Komponenten, können die Hardware direkt ansprechen.

Während der Installation des Betriebssystems werden unterschiedliche Versionen der Hardware Abstraction Layer installiert. Welche Version installiert wird, hängt von der vorhandenen Hardware, beispielsweise das Mainboard, ab. Der Grund dafür ist, dass die HAL die Anforderungen des Betriebssystems so umsetzen muss, damit die vorhandene Hardware die Anforderung verstehen kann. So gibt es keine Kompatibilitätsprobleme zwischen den verschiedenen Plattformen.

Softwareentwickler brauchen durch diese Konstruktion keine Rücksicht auf die Hardwareanforderungen zu nehmen. Um eine Software an die Hardware anzupassen, braucht man nur noch die HAL dementsprechend zu ändern. Auf der anderen Seite kann man durch diese Struktur am anderen Ende eine Vielzahl an Hardware anschließen und betreiben.

Die HAL ist eine DLL-Datei und heißt hal.dll. Sie wird beim Systemstart in den Arbeitsspeicher geladen. In der hal.dll sind wichtige, grundsätzliche Informationen über den Umgang mit der Hardware gespeichert.