Un emulador es aquel software que nos
permite ejecutar programas o cualquier tipo de software diferente para la cual
fue diseñada desde un principio, una arquitectura diferente.
Puede sonar un poco como si fuera un simulador,
pero la gran diferencia entre estos es que el simulador solo trata de imitar el
comportamiento del programa en específico, mientras que el emulador trata de
ejecutar fielmente el funcionamiento del sistema y la arquitectura completa,
para dar el mayor la mayor sensación como si el dispositivo emulado fuera el
original.
Uno de los usos principales que se les
da a estos tipos de tecnología es para la emulación de videojuegos, mostrar cómo
sería la experiencia de juego en X consola
Estructura
La
mayoría de los emuladores solo emulan una determinada configuración arquitectura
de hardware - si el sistema de
explotación ( o sistema operativo)
también se requiere para emular cierto programa entonces ha de ser emulado
también. Tanto el sistema de explotación como el programa deben ser
interpretados por el emulador, como si estuviese ejecutándose en el equipo
original. Aparte de la interpretación del lenguaje de la máquina emulada, es
preciso emular el resto del equipo, como los dispositivos de entrada y salida,
de forma virtual: si escribir en una
región específica de la memoria debe
influir en el contenido en pantalla, por ejemplo, esto también debe ser
emulado.
En
vez de una emulación completa del equipo, una compatibilidad superficial puede
ser suficiente. Esto traduce las llamadas del sistema emulado a llamadas del
sistema anfitrión.
Los
desarrolladores de programas para máquinas con sistemas computarizados y
consolas de videojuego comúnmente utilizan emuladores especialmente exactos
llamados simuladores antes
de ejecutarlos en el equipo real. Esto permite que el programa pueda ser
producido y probado antes de que la versión final del equipo para el cual se
está desarrollando sea producida en grandes cantidades, de esta forma puede ser
probado sin tener que copiar el programa en el equipo, de modo que puedan ser
eliminados errores en un nivel bajo sin tener los efectos colaterales de
un depurador.
Típicamente,
un emulador se divide en módulos que
corresponden de forma precisa a los subsistemas del equipo emulado. Lo más
común, es que un emulador este compuesto por los siguientes módulos:
·
·
Un emulador de la unidad
central de procesamiento.
·
Un módulo para el subsistema de
memoria.
·
Varios emuladores para los
dispositivos de entrada y salida.
Lo
más común es que los buses no sean
emulados, por razones de simplicidad y rendimiento, y para que los periféricos virtuales se comuniquen directamente con la UCP y los
subsistemas de memoria.

Comentarios
Publicar un comentario