Una capa de abstracción de hardware es un método para ocultar el hardware físico del software de la computadora. La capa funciona como intermediaria, separando el hardware y el software entre sí. Además, enmascara los procesos reales de los dos sistemas entre sí. El propósito principal de esta capa es permitir que el software se ejecute en hardware en el que no estaba específicamente diseñado para ejecutarse. Si bien casi todos los sistemas operativos usan estas capas hasta cierto punto, son más comunes en los sistemas integrados y de emulación.
La arquitectura de la computadora está configurada en capas. La computadora comienza con la capa de hardware y se acumula en la capa de aplicación o software. Cada paso hacia arriba en la capa se acerca más al software y más al hardware. Además, cada paso requiere más procesamiento y recursos para operar. Por ejemplo, el kernel del sistema es una de las piezas de software más fundamentales del sistema, pero es más complejo y requiere muchos recursos que el hardware en el que se encuentra y menos que el sistema operativo que requiere su ejecución.
Normalmente, cada una de estas capas está formada por componentes reales, ya sea hardware o software. Una capa de abstracción de hardware es un poco de ambos. Es un sistema de software que actúa como un sistema de hardware. Se encuentra entre el núcleo de la computadora y los sistemas de hardware. El trabajo de la capa de abstracción de hardware es enmascarar la mayor parte del sistema y hacer que el kernel crea que está operando en un conjunto diferente de hardware. Cuando el hardware y el kernel se comunican, la capa de abstracción del hardware traduce la información de un lado a otro.
La razón más común para usar una capa de abstracción de hardware es permitir que el software se ejecute en hardware en el que no debería estar. La capa se asienta sobre el hardware y permite la instalación de un sistema operativo y aplicaciones. En esencia, hace que las capas dentro de la computadora se ramifiquen en dos caminos diferentes. Un camino sigue el verdadero hardware del sistema mientras que el otro sigue la versión abstraída.
Casi todos los sistemas operativos tienen una pequeña cantidad de abstracción incorporada. Esto permite que el sistema ejecute una gama más amplia de máquinas, siempre que estén dentro de un amplio conjunto de parámetros. Este tipo de abstracción es tan menor y común que rara vez se denomina capa de abstracción de hardware.
La abstracción real se encuentra típicamente en uno de dos lugares. La emulación de hardware permite que un sistema operativo completo y programas funcionen en una computadora para la que no fueron diseñados. Esta forma de abstracción es común en casi todas las computadoras modernas, ya que varios programas web funcionan a través de sistemas virtuales. Los sistemas integrados son del segundo tipo. Estos pequeños sistemas operativos ejecutan todo, desde automóviles hasta cafeteras y, a menudo, usan una capa de abstracción de hardware para aumentar la cantidad de dispositivos que pueden usar el sistema sin modificaciones.