- Hardware-Abstraktions-Schicht
-
Eine Hardwareabstraktionsschicht (engl. HAL, Hardware Abstraction Layer) ist eine architektonische Ebene größerer Computerprogramme oder Systeme solcher Programme, die dafür sorgt, dass andere Software-Komponenten nicht auf die Spezifikationen der Hardware Rücksicht nehmen müssen, auf der das Programm läuft.
Die HAL dient so als Schnittstelle für die meisten Betriebssystemprozesse und übernimmt die Kommunikation mit der Hardware. Dafür abstrahiert die HAL die von einem bestimmten Typ Hardware (z. B. Drucker) bereitgestellte Funktionalität (einen Strom von Daten in Tintenpunkte auf Papier umzusetzen) von der konkreten Implementierung. Dadurch muss eine Software, die eine Seite über einen Drucker drucken soll, nur die Schnittstellenfunktion (z. B. „Drucke Seite“) ansprechen, die konkrete Umsetzung auf die Hardware erfolgt dann ab dieser Schnittstelle über einen hardwarespezifischen Treiber.
Beispiele für Hardware-Abstraktionsschichten sind die schon erwähnten Druckertreiber, komplexe Grafikschnittstellen wie OpenGL oder DirectX, sowie in der absoluten Form virtuelle Maschinen.
Die HAL ist damit für einen großen Teil der Anwendungsprogramme und viele Systemprozesse nützlich, nur wenige Bestandteile des Kernels und die Gerätetreiber kommunizieren direkt mit der Hardware, ohne die HAL zu nutzen.
Inhaltsverzeichnis
aktuelle Betriebssysteme
Die meisten aktuellen Betriebssysteme sind so konzipiert, dass sie auf unterschiedlichen Plattformen eingesetzt werden können. Um eine Unabhängigkeit von dem zugrundeliegenden Prozessor und dem Bustyp zu erreichen, müssen vom Betriebssystem zwei wichtige Voraussetzungen erfüllt werden:
- die Programmiersprache muss portierbar sein
- es muss eine Hardware-Abstraktionsschicht vorliegen, in die alle Elemente des Betriebssystems einfließen, die sich auf eine bestimmte Hardwareplattform beziehen
Möchte nun ein Entwicklungsteam ein Betriebssystem auf eine neue Plattform portieren, so müssen im Endeffekt „nur“ die Programme rekompiliert und eine neue HAL generiert werden.
Literatur
- Abraham Silberschatz, Peter Bear Galvin, Greg Gagne: Operating System Concepts. Sixth Edition. 2002, ISBN 0-471-41743-2
Siehe auch
Weblinks
Wikimedia Foundation.