Compatibilidad (informática)

De Wikipedia, la enciclopedia libre

La compatibilidad es la condición que hace que un programa y un sistema, arquitectura o aplicación logren comprenderse correctamente tanto directamente o indirectamente (mediante un algoritmo). A este algoritmo que hace que un programa logre ser comprendido por un sistema, arquitectura o aplicación se lo denomina emulador por el hecho de que es un intérprete entre el programa y el sistema, arquitectura o aplicación.

Problemas de compatibilidad[editar]

Un problema de compatibilidad (incompatibilidad) surge a partir de la falta o mala interpretación de un programa por un algoritmo, esto conlleva a una mala ejecución de dicho programa o a la imposibilidad de ser ejecutado.

Un ejemplo práctico:

Compatibilidad:

programa_orden_decir=("Hola")
sistema> Hola

El programa le indica una orden al sistema y el sistema la interpreta y la ejecuta sin problemas.

Incompatibilidad Caso A (Mala ejecución):

programa_orden_decir=("Hola")
sistema> Chau

El programa le indica una orden al sistema y el sistema la interpreta pero de forma errónea, devolviendo un resultado no esperado.

Incompatibilidad Caso B (Imposibilidad de ejecución):

programa_orden_da31s4s232sd2453ce
sistema> Error

El programa le indica una orden al sistema que para él es arbitraria y por ende no logra interpretarla.

Emulación[editar]

La emulación consiste en utilizar un algoritmo de por medio, denominado emulador que simula ser el sistema, arquitectura o aplicación para el cual el programa está preparado, el emulador modifica los comandos del programa en memoria para que el sistema pueda interpretarlo como si estuviera especialmente diseñado para él.

Un ejemplo:

Ejecución de orden del programa:

programa_orden_decir=("huta")

Ejecución del emulador:

emul transformar programa_orden_* en sistema_realizar_*

Ejecución de orden del programa emulada en memoria:

sistema_realizar_decir=("Hola")

Resultado en el sistema:

sistema> Hola

OpenSource[editar]

Hoy en día los programas OpenSource (código abierto), generalmente en los sistemas basados en Unix lograron solucionar bastante el tema de la compatibilidad, por el hecho de que el sistema que compilará el programa, podrá antes adaptar el código a su kernel modificando opciones de compilación, generalmente ingresando en la Interfaz de línea de comandos el siguiente comando: ./configure

Luego compila el código con el siguiente comando: make

Y por último instala los ejecutables compilados con: make-install

Logrando así obtener un programa genérico completamente adaptado al sistema operativo que lo ha compilado.

Véase también[editar]

Enlaces externos[editar]