Parece que hay mucha confusión en las respuestas, así que permítanme aclarar una distinción importante:
Hay dos tipos de soluciones que a menudo se confunden: emulación y simulación .
Un emulador está diseñado para imitar el software / hardware original en el nivel “frontal”; está destinado a comportarse de la misma manera, pero los procesos subyacentes que recrean el comportamiento a menudo ni siquiera son similares . El objetivo de un emulador es obtener un resultado conocido lo más rápido posible. Los emuladores de la consola de juegos llegan a una solución predefinida utilizando las herramientas que tienen a su disposición. En realidad, no pueden ejecutar el código de la consola nativa , pero hacen que el juego piense que sí.
- ¿Cuál será una buena versión para PC para jugar a 1080p por encima de 60 fps? ¿Cuáles son algunas sugerencias para un monitor para la compilación?
- ¿Cómo convertirme en un modelador y animador 3D si estoy haciendo / he hecho un título en informática? ¿Te ayudará o no este título? ¿Qué exige esta profesión y cómo se puede evaluar su compatibilidad para este trabajo?
- Si uso texto blanco sobre negro en lugar de negro sobre blanco, ¿cuánto extenderé el rendimiento de la batería de mi computadora portátil?
- ¿Es peligroso para una computadora hacer videos de 10 horas?
- Al construir un RAID duplicado ZFS, ¿es mejor utilizar muchas unidades de tamaño pequeño o algunas unidades más grandes?
Al diseñar un emulador, comienza desde el resultado y retrocede hasta llegar a una solución que lo produce (cualquiera que sea la solución).
Por ejemplo, para emular algo, si el dispositivo original llegó a “4” al realizar “8/2”, en realidad no necesito hacer lo mismo , porque sé que “2 + 2” será más rápido, lo que importa es el resultado, que es “4”. Realmente no me importa el proceso original, porque quiero velocidad y resultados , y “2 + 2” es más rápido y produce un resultado final decentemente preciso.
Las caras de los personajes de los juegos de computadora son emulaciones que, aunque no siempre son precisas, proporcionan resultados decentes con rendimiento.
Un simulador , por otro lado, está diseñado para replicar los pasos originales para lograr el resultado, incluso si hacerlo funcionar de esa manera lo hace increíblemente lento. El punto es utilizar exactamente las mismas reglas que el original, y seguir exactamente los mismos pasos que el original, para llegar a una respuesta a la que llegaría el original. Los simuladores son modelos detallados de cosas reales que replican el comportamiento en virtud de replicar la maquinaria , de una forma u otra.
Al diseñar un simulador , comienza desde las premisas originales y avanza para encontrar el resultado final.
Por ejemplo, para hacer un simulador necesitaría replicar el comportamiento “8/2” si quiero que mi modelo sea exacto . Si creo mi modelo de forma precisa y completa, los resultados correctos seguirán en virtud, aunque sea lentamente.
Una gran cantidad de software de investigación científica (por ejemplo, [correo electrónico protegido] ) es simulación por diseño. A menudo son lentos, pero producen resultados precisos sobre los que la ciencia puede construir.
Sí, emularía una computadora. De hecho, a menudo lo hago. La razón principal es: porque existe una gran cantidad de software útil / entretenido que fue escrito para dispositivos / tecnologías que ya no existen o que no son fácilmente accesibles (juegos de DOS, por ejemplo).
A veces, el código original de algo puede perderse, o puede ser imposible de obtener (especialmente, como es el caso de las reclamaciones de derechos de autor en disputa), puede ser simplemente más fácil replicar el comportamiento resultante del sistema que se suponía que el software ejecutaba encendido , en lugar de librar una batalla legal larga (y a menudo imposible de ganar) para obtener el código y poder reescribirlo .
A veces, el software útil solo existe en una plataforma en particular a la que puede no tener acceso: en el trabajo, trabajo en Apple Macs, que hasta hace muy poco ni siquiera le permitía ejecutar Windows. Aún así, no voy a iniciar dualmente la Mac solo porque necesitamos usar uno o dos programas exclusivos de Windows. Usamos algo llamado una “máquina virtual” para ejecutar Windows sobre macOS para ese propósito.
La emulación también es excelente cuando diseña software destinado a una plataforma de hardware diferente a la suya (por ejemplo, para teléfonos móviles): proporcionará pistas invaluables sobre cómo se comportará el sistema de destino.
Sin embargo, la emulación es inútil cuando se diseña un nuevo hardware, porque en su lugar necesita crear un modelo realista de ese hardware (es decir, una simulación ); necesita encontrar sus defectos y debilidades, y no puede hacerlo si su modelo no lo hace. en realidad no se comporta como algo real; quiero decir, usted ya sabe cuál debería ser el resultado, pero necesita saber si ese resultado realmente será producido por su dispositivo.