Hvad er et hardwareabstraktionslag?
Et hardwareabstraktionslag er en metode til at skjule den fysiske hardware fra computerens software. Laget fungerer som en formidler, hvor hardware og software skilles fra hinanden. Derudover maskerer de de faktiske processer i de to systemer fra hinanden. Hovedformålet med dette lag er at give software mulighed for at køre på hardware, som det ikke specifikt var beregnet til at køre på. Mens næsten alle operativsystemer bruger disse lag til en vis grad, er de mest almindelige inden for emulering og indlejrede systemer.
Computerarkitektur er opsat i lag. Computeren starter med hardwarelaget og bygger sig op til applikations- eller softwarelaget. Hvert trin op i laget går tættere på software og videre fra hardware. Derudover kræver hvert trin mere behandling og ressourcer til at fungere. For eksempel er systemets kerne en af de mest grundlæggende softwarestykker på systemet, men den er mere kompleks og ressourcekrævende end den hardware, det sidder på, og mindre end det operativsystem, der kræver, at det skal køre.
Hvert af disse lag består typisk af ægte komponenter, enten hardware eller software. Et hardwareabstraktionslag er lidt af begge dele. Det er et softwaresystem, der fungerer som et hardwaresystem. Den sidder mellem computerens kerne og hardwaresystemerne. Hardware-abstraktionslagets job er at maskere størstedelen af systemet og få kernen til at tro, at den fungerer på et andet sæt hardware. Når hardware og kerne kommunikerer, oversætter hardware-abstraktionslaget informationerne frem og tilbage.
Den mest almindelige grund til at bruge et hardwareabstraktionslag er at tillade, at software kører på hardware, som det ikke skal være på. Laget sidder på toppen af hardware og tillader installation af et operativsystem og applikationer. I det væsentlige får det lagene inde i computeren til at forgrene sig i to forskellige stier. Den ene sti følger systemets ægte hardware, mens den anden følger den abstrakte version.
Næsten hvert operativsystem har en lille abstraktion indbygget lige i det. Dette gør det muligt for systemet at køre et bredere udvalg af maskiner, forudsat at de ligger inden for et bredt sæt parametre. Denne type abstraktion er så mindre og almindelig, at den sjældent omtales som et hardwareabstraktionslag.
Reel abstraktion findes typisk et af to steder. Hardware-emulering giver et komplet operativsystem og programmer mulighed for at operere på en computer, de ikke var bygget til. Denne form for abstraktion er almindelig i næsten alle moderne computere, da adskillige webprogrammer fungerer gennem virtuelle systemer. Indbyggede systemer er den anden type. Disse små operativsystemer kører alt fra biler til kaffepotter og bruger ofte et hardwareabstraktionslag for at øge antallet af enheder, der kan bruge systemet uden ændringer.