Un strat de abstractizare hardware este o metodă de a ascunde hardware-ul fizic de software-ul computerului. Stratul funcționează ca un intermediar, separând hardware-ul și software-ul unul de celălalt. În plus, maschează procesele reale ale celor două sisteme unul față de celălalt. Scopul principal al acestui strat este de a permite software-ului să ruleze pe hardware pe care nu a fost menit să ruleze în mod special. În timp ce aproape toate sistemele de operare folosesc aceste straturi într-o oarecare măsură, ele sunt cele mai comune în sistemele de emulare și încorporate.
Arhitectura computerului este configurată în straturi. Computerul începe cu stratul hardware și se construiește până la stratul de aplicație sau software. Fiecare pas în sus se apropie mai mult de software și mai departe de hardware. În plus, fiecare pas înainte necesită mai multe procesări și resurse pentru a funcționa. De exemplu, nucleul sistemului este una dintre cele mai fundamentale piese de software de pe sistem, dar este mai complex și mai consumatoare de resurse decât hardware-ul pe care se află și mai puțin decât sistemul de operare care necesită ca acesta să ruleze.
De obicei, fiecare dintre aceste straturi este alcătuit din componente reale, fie hardware, fie software. Un strat de abstractizare hardware este puțin din ambele. Este un sistem software care acționează ca un sistem hardware. Se află între nucleul computerului și sistemele hardware. Sarcina stratului de abstractizare hardware este de a masca majoritatea sistemului și de a face nucleul să creadă că funcționează pe un set diferit de hardware. Când hardware-ul și nucleul comunică, stratul de abstractizare hardware traduce informațiile înainte și înapoi.
Cel mai obișnuit motiv pentru a utiliza un strat de abstractizare hardware este acela de a permite software-ului să ruleze pe hardware pe care nu ar trebui să fie. Stratul se află deasupra hardware-ului și permite instalarea unui sistem de operare și a aplicațiilor. În esență, face ca straturile din interiorul computerului să se ramifică în două căi diferite. O cale urmează hardware-ul adevărat al sistemului, în timp ce cealaltă urmează versiunea abstractă.
Aproape fiecare sistem de operare are o cantitate mică de abstractizare încorporată chiar în el. Acest lucru permite sistemului să ruleze o gamă mai largă de mașini, cu condiția ca acestea să se încadreze într-un set larg de parametri. Acest tip de abstracție este atât de minor și obișnuit încât este rareori denumit strat de abstractizare hardware.
Abstracția reală se găsește de obicei într-unul din două locuri. Emularea hardware permite unui sistem de operare complet și programelor să funcționeze pe un computer pentru care nu au fost construite. Această formă de abstractizare este comună în aproape toate computerele moderne, deoarece mai multe programe web funcționează prin sisteme virtuale. Sistemele încorporate sunt al doilea tip. Aceste sisteme de operare mici rulează totul, de la mașini la cafetiere și folosesc adesea un strat de abstractizare hardware pentru a crește numărul de dispozitive care pot folosi sistemul fără modificări.