Home

hardwareabstractie

Hardwareabstractie is een ontwerpprincipe waarbij software een uniforme, hardware-onafhankelijke interface krijgt voor het gebruik van computerhardware. Door abstractie kunnen programma’s draaien op verschillende apparaten zonder wijziging aan de specifieke hardware, wat bijdraagt aan interoperabiliteit, portabiliteit en onderhoudsgemak.

In de praktijk wordt hardwareabstractie gerealiseerd via lagen zoals device drivers, een hardware abstraction layer (HAL)

Voordelen zijn onder meer grotere portabiliteit, vereenvoudigd onderhoud, scheiding van verantwoordelijkheden en de mogelijkheid om hardware

Nadelen zijn onder meer extra lagen die overhead en latency kunnen veroorzaken, en het risico op prestatieverlies

Toepassingsgebieden omvatten besturingssystemen, embedded systemen, grafische en opslagstuurprogramma’s, en virtualisatie. Voorbeelden zijn HAL’s in Windows en

en
firmware.
Een
HAL
biedt
een
gestandaardiseerde
set
functies
die
toegang
tot
hardware
maskeren
achter
API’s;
device
drivers
implementeren
deze
API’s
voor
specifieke
apparaten.
In
veel
systemen
communiceren
software
en
hardware
via
kernelruimte-
of
gebruikersruimte-interfaces,
waarbij
de
HAL
de
hardwaredetails
kapselt.
te
vervangen
zonder
software
te
herschrijven.
Abstractie
maakt
ook
betere
testmogelijkheden
mogelijk
via
simulatie
en
emulatie.
of
abstractielekkage
waardoor
controle
op
lage
niveaus
beperkt
is.
Ook
veiligheids-
en
compatibiliteitsrisico’s
kunnen
ontstaan
wanneer
drivers
verouderd
raken
of
onjuiste
aannames
doen.
Linux,
grafische
API’s
zoals
OpenGL
en
Vulkan
die
GPU-hardware
verbergen
achter
uniforme
API’s,
en
nvme/sata-stuurprogramma’s
die
verschillende
hardware
op
een
consistente
manier
benaderen.