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.