Capa de compatibilidad
Una capa de compatibilidad es una interfaz de software que permite que las aplicaciones escritas y compiladas para un sistema operativo o una arquitectura de hardware se ejecuten en un sistema anfitrión diferente. Recibe llamadas a la API y otras funciones del sistema diseñadas para un entorno, y las traduce en llamadas que el sistema anfitrión puede entender.
Las capas de compatibilidad pueden cumplir una función similar a la emulación y la virtualización al permitir que el software escrito para un entorno por ejemplo, (Windows en un procesador x86) se ejecute en otro sistema operativo con hardware similar (Linux en un procesador x86) o en un sistema operativo similar con una arquitectura de hardware diferente (Windows en un procesador ARM). Para hacerlo, interceptan cada llamada a la API del sistema que el programa intenta realizar en su entorno original y la convierten en la llamada equivalente al nuevo entorno anfitrión.
La ejecución de software en una capa de compatibilidad suele utilizar menos recursos del sistema que la emulación de otro entorno o la ejecución de una máquina virtual. Sin embargo, algunos programas pueden presentar errores o requerir configuración adicional para funcionar correctamente cuando se utiliza una capa de compatibilidad.
Comparación con la emulación y la virtualización
Los emuladores, la virtualización y las capas de compatibilidad se utilizan con frecuencia para ejecutar software de otro entorno. Cada método realiza esa tarea de una manera diferente.
Un emulador utiliza software para recrear tanto el hardware como el software de un dispositivo y emular todo el entorno. Como la emulación de dispositivos de hardware mediante software requiere muchos recursos del sistema, el sistema anfitrión debe ser considerablemente más rápido que el hardware que emula para lograr un rendimiento similar. Una capa de compatibilidad diseñada para traducir entre dos plataformas de hardware incluirá un emulador de hardware, que utilizará solo cuando sea necesario en lugar de emular constantemente todo el entorno.
Una máquina virtual simula una computadora completa en el hardware de la máquina anfitriona. Ejecuta una copia de un sistema operativo y utiliza una capa de software para traducir las llamadas al hardware virtualizado en llamadas al hardware de la máquina anfitriona. Una capa de compatibilidad solo traduce las llamadas que necesita y lo hace sin simular las llamadas de hardware o software que no necesita.
Pon a prueba tu conocimiento