El tutor de nuestro curso online de Desarrollo de Aplicaciones para Android, Víctor Ramírez Las,…
Introducción a los emuladores
1.
Introducción a los emuladores
Qué es un emulador
Un emulador es un software que permite ejecutar otras arquitecturas en una plataforma diferente a la de su plataforma original, ya sea con otra arquitectura hardware o sistema operativo. Permite reproducir de una manera muy precisa el comportamiento de un programa, al igual que se realizaría en el dispositivo para el que fué diseñado.
Actualmente, una de sus principales funcionalidades es poder imitar las experiencias de videojuegos desarrollados para plataformas ya en desuso, como podrían ser la máquinas recreativas disponibles en los salones especializados, o como el caso que nos ocupa, el que los usuarios puedan usar en un PC las aplicaciones instaladas en dispositivos móviles y en el que profundizaremos posteriormente.
Cómo funciona un Emulador
Un emulador, básicamente, se encarga de recrear el hardware de un microprocesador, en el que el programador es capaz de escribir código que consiga leer y entender las instrucciones de un microprocesador, procesarlas y guardar los resultados del procesamiento.
A nivel de programación, se realiza mediante un lenguaje de programación que entienda el lenguaje máquina de las instrucciones del sistema a emular, ejecutando dichas instrucciones y cambiando los registros emulados del microprocesador, quedando exactamente igual que si fuesen procesados en la plataforma original. A grandes rasgos, lo que se pretende es recrear el hardware del sistema.
Una vez se ha recreado el hardware del sistema, ya que principalmente lo que se ha realizado es un programa encargado de emular el hardware de una máquina, será el sistema operativo el encargado de proporcionarnos el hardware para hacer uso del emulador: memoria RAM, Externa y Flash, microprocesador, pantalla y chip gráfico,…
Motivo de su aparición
El motivo principal de la aparición de los emuladores se podría definir en los siguientes puntos:
- Recreación de máquinas antiguas en otras más actuales
- No es necesario realizar copias físicas del programa o videojuego que se está desarrollando para poder probarlo en su plataforma final
- Utilización de arquitecturas que actualmente están obsoletas, debido a la implementación de nuevas tecnologías más eficientes que mejoran por ejemplo las capacidades de cálculo, interactividad con el usuario o el consumo de energía
- Gestionar aquellas arquitecturas que futuriblemente estarán en desuso.
Criterios para el uso de emuladores
Se establecen una serie de criterios que nos permiten posicionarnos en un lugar u otro, dependiendo de nuestra manera de entender el uso de los emuladores y qué punto de vista adoptemos, el de los usuarios o el de los fabricantes de hw/sw, que pueden ser contrapuestos:
Criterios a favor:
- Permiten utilizar sistemas que de otro modo no podríamos usar, por ejemplo por su indisponibilidad o por su precio.
- Permiten preservar todos los sistemas hardware mediante una emulación lógica por software (que es cada vez más perfecta) y que certifica que siempre podremos reutilizar los programas y juegos de los sistemas emulados, y además desde cualquier arquitectura actual y futura.
- Permiten encontrar más información sobre los sistemas emulados, y documentarlos de una manera efectiva para una posible futura reimplementación.
- Permiten probar sistemas que no se conocían, y pueden incentivar el interés de los usuarios por conseguir las máquinas propiamente dichas.
- Proporcionan facilidades al programador de estos sistemas para el desarrollo de aplicaciones y juegos para ellos, ya que éstos se pueden probar directamente en el emulador sin necesidad de pasarlos al sistema de prueba, acelerando la depuración de errores.
Criterios en contra:
- El uso de emuladores y la obtención de software en ROMs pueden desincentivar el interés por probar o adquirir el sistema físico que emulan, Por ejemplo, ¿cuánta gente que use un emulador de SuperNintendo acaba comprando una SuperNintendo física y juegos para la misma?
- Los emuladores no son perfectos: no emulan al 100% todos los aspectos ni del microprocesador ni de los demás elementos asociados al sistema, por lo que la emulación (aunque sea muy buena) no es comparable a la sensación y feeling de la máquina real.
- El volcado de juegos que todavía se comercializan y la emulación de recreativas actuales y sistemas a la venta es dañino para el mercado del videojuego. Actualmente podemos jugar en emuladores Arcade a juegos de recreativa que todavía están en los salones. El disponer de estos juegos en casa hace que, al igual que ocurría en el primer punto enumerado, disminuya el uso de estas máquinas.
Cómo obtener el software para un Emulador
Cada vez es más habitual encontrar teléfonos móviles con una potencia y arquitectura hardware muy similar a la de un PC.
Cualquier móvil actual contiene una memoria ROM (sistema de almacenamiento que permite solo la lectura de la información almacenada), que permite poder realizar un volcado de la información que contiene, principalmente programas en código máquina, a un lector de memoria, para poder hacer uso de esta copia en cualquier sistema. Es lo que denominamos imagen ROM o simplemente ROM
En la siguiente entrega de esta serie, os presentamos 5 emuladores Android, con sus características más destacadas.
Y antes de pasar a descubrir estos emuladores, os dejamos una pregunta::
¿podrías decirnos cuáles son las principales diferencias entre un emulador y un simulador?
Autor: José Antonio Gázquez Rodríguez – Academia Android
Esta entrada tiene 2 comentarios
Los comentarios están cerrados.
[…] 1.Introducción a los emuladores […]
[…] emulador es un software que permite ejecutar otras arquitecturas en una plataforma diferente a su original, […]