Hvad er et hardwareabstraktionslag?
Et hardwareabstraktionslag er en metode til at skjule den fysiske hardware for computerens software. Laget fungerer som formidler og adskiller hardware og software fra hinanden. Derudover maskerer det 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 i emulering og indlejrede systemer.
computerarkitektur er indstillet i lag. Computeren starter med hardwarelaget og bygger op til applikationen eller softwaren, lag. Hvert trin op i lag går nærmere software og længere fra hardware. Derudover kræver hvert trin op mere behandling og ressourcer til at fungere. For eksempel er systemets kerne en af de mest grundlæggende software på systemet, men det er mere komplekst og ressourceintensivend operativsystemet, der kræver, at det kører.
Typisk består hvert af disse lag af ægte komponenter, enten hardware eller software. Et hardwareabstraktionslag er lidt af begge dele. Det er et softwaresystem, der fungerer som et hardwaresystem. Det sidder mellem computerens kerne og hardwaresystemerne. Hardwareabstraktionslagets job er at maskere størstedelen af systemet og få kernen til at tro, at det fungerer på et andet sæt hardware. Når hardware og kerne kommunikerer, oversætter hardwareabstraktionslaget informationen frem og tilbage.
Den mest almindelige grund til at bruge et hardwareabstraktionslag er at lade software køres 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 differtende stier. Den ene sti følger systemets sande hardware, mens den anden følger den abstraherede version.
Næsten hvert operativsystem har en lille mængde abstraktion, der er bygget lige ind i det. Dette gør det muligt for systemet at køre et bredere udvalg af maskiner, forudsat at de er inden for et bredt sæt parametre. Denne type abstraktion er så mindre og almindeligt, at den sjældent omtales som et hardwareabstraktionslag.
Real abstraktion findes typisk et af to steder. Hardwareemulering giver et komplet operativsystem og programmer mulighed for at fungere på en computer, de ikke var bygget til. Denne form for abstraktion er almindelig i næsten alle moderne computere, da flere webprogrammer fungerer gennem virtuelle systemer. Indlejrede systemer er den anden slags. Disse små operativsystemer kører alt fra biler til coffeepots og bruger ofte et hardwareabstraktionslag til at øge antallet af enheder, der kan bruge systemet uden ændring.