Hardware Abstraction Layer
Aus Lowlevel
Version vom 8. September 2008, 07:15 Uhr von ChristianF (Diskussion | Beiträge) (Aufgabenliste um ein paar Punkte erweitert.)
Die HAL (Hardware Abstraction Layer) bezeichnet eine Softwareschicht, die zwischen der Hardware und dem Betriebssystemkernel liegt. Sie hat die Aufgabe, hardwarespezifische Funktionen auszulagern, um eine spätere Portierung zu erleichtern, da im besten Fall nur die HAL angepasst werden muss. Auch Microsoft Windows hat eine eigene HAL, die als Datei hal.dll vorliegt.
Aufgaben
Die HAL beinhaltet somit folgende Aufgaben:
- I/O Port-Zugriffe
- Interrupts, Interrupt Service Routines
- GDT, IDT, IRQ, PIC, ...
- Syscalls
- Paging
- ...
Exokernel
Eine besondere Rolle hat der Exokernel. Dieser hat normalerweise keine HAL.
Ältere Betriebsysteme
MS-DOS hatte keine HAL, zumindest wenn es nicht mit Windows aufgerüstet worden war.