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.

Algunas capas de compatibilidad destacadas son Wine (que permite ejecutar programas de Windows en Linux mediante la implementación de la API de Windows), Rosetta 2 en macOS que permite ejecutar aplicaciones de macOS compiladas para x86 en (Apple Silicon) y WOW64 en Windows que traduce aplicaciones de Windows creadas para x86 para que se ejecuten en procesadores (x86-64 y ARM).

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.

Actualizado November 7, 2022 por Brian P.

quizPon a prueba tu conocimiento

Which of the following is a text encoding standard?

A
ATF
0%
B
EFT
0%
C
OTT
0%
D
UTF
0%
Correct! Incorrect!     View the UTF definition.
More Quizzes →

El diccionario informático Tech Terms

La definición de Capa de compatibilidad en esta página es una definición original escrita por los autores de TechTerms.com. Si desea hacer referencia a esta página o citar esta definición, utilice la barra de cita verde directamente debajo de la definición.

Nuestro objetivo es explicar la terminología informática de manera sencilla y comprensible. Nos esforzamos por la precisión y la claridad en cada definición que publicamos. Si tiene comentarios o desea sugerir un nuevo término técnico, contáctenos.

El boletín de Tech Terms

¡Mejora tu conocimiento técnico con nuestro boletín diario o semanal! Suscríbete hoy y recibe nuevos términos y cuestionarios en tu bandeja de entrada.

Suscríbase al boletín gratuito de TechTerms

¿Con qué frecuencia desea recibir un correo?

Puede cancelar su suscripción o cambiar la frecuencia en cualquier momento usando los enlaces disponibles en cada correo. ¿Preguntas? Contáctenos.

Nota: El boletín se envía en inglés.