Hoy aprenderás al detalle sobre la Capa de Abstracción de Hardware.
¿Has escuchado sobre el termino "HAL" alguna vez?
Pues, llegaste a la Guía Definitiva.
Empezaremos desde los conceptos hacia lo más interesante.
¿Qué es y para que sirve la HAL?
Hardware Abstraction Layer (HAL) o simplemente Capa de Abstracción de Hardware, es un software que maneja toda la comunicación que existe entre el hardware y el kernel del sistema Windows.
¿Y el Kernel?
El kernel es el núcleo del sistema operativo y controla toda la computadora, pero este tema lo aprenderemos más a detalle en un próximo post.
Observa bien esta imagen por que define en que parte del ordenador se encuentra el HAL, y además, podemos confirmar que este se encuentra entre el hardware y el kernel del sistema Windows.
Adicionalmente, recordemos que el Kernel es el núcleo del sistema que controla toda la computadora, pero en algunos casos, todavía se comunica directamente con el hardware directamente. Sin embargo, la Hardware Abstraction Layer(HAL) también necesita el kernel para realizar algunas funciones.
¿De que forma influye la HAL entre el kernel y el hardware?
Que bueno que preguntes. Para ser directo, hay dos modos diferentes en los que funciona el hardware(CPU) cuando la computadora tiene Windows instalado.
- Modo Usuario
- Modo Kernel
Vamos a explicarlo de la forma más sencilla posible, imagina que cada modo es una "capa" que está aislada una de la otra, por lo tanto la "capa" del Modo Usuario no interfiere con la "capa" de Modo Kernel.
El termino "capa" hace referencia al "espacio de trabajo" que tiene cada modo. ahora si, vamos por el primero.
1. Modo usuario
En este modo es en
donde las aplicaciones que instalamos se ejecutan, y además, este modo evita
que dichas aplicaciones tengan acceso directo a ubicaciones de memoria o
hardware.
Por ese motivo, las aplicaciones ejecutadas en el modo de usuario deben pasar por el sistema operativo para
luego tener acceso a los recursos de hardware.
Datos para tener en
cuenta:
- La mayoría de los programas de Windows funcionan en el Modo Usuario.
- Los controladores (drivers) pueden funcionar en modo de kernel o de usuario, todo dependerá del tipo de controlador.
- Cuando se ejecuta aplicaciones en el Modo Usuario, el kernel le otorga un espacio de memoria, junto con un proceso creado específicamente para dicha aplicación. Esto se hace para evitar que las aplicaciones modifiquen el API del sistema operativo en ejecución.
- Al tener su propio proceso, se impide que otras aplicaciones(como troyanos) modifiquen sus datos. Esto también ayuda a evitar que el sistema operativo deje de funcionar si llegase a fallar una aplicación.
2. Modo Kernel
En este modo se
ejecuta todo el sistema operativo como tal, haciendo que el sistema tenga
acceso ilimitado al hardware.
Datos para tener en
cuenta:
- El sistema operativo, al estar en modo kernel, puede hacer referencia a cualquier dirección de la memoria directamente.
- Un error de una aplicación que se ejecuta en el Modo Kernel detiene el funcionamiento de toda la computadora.
- Una aplicación ejecutada en modo kernel corre en el mismo espacio de memoria del sistema.
- Los drivers no están aislados del sistema operativo. Por lo cual si un driver que trabaja en modo kernel falla, este puede afectar gravemente al sistema operativo.
Espero haber aclarado dudas sobre este tema, dado que muchas guías de certificación no lo explican tan claro, y a veces las malas traducciones nos juegan en contra.
"No olvides compartir, seguro que alguien lo necesita."
1 Comentarios
Claro como el agua, lo explicas muy bien
ResponderBorrar