Emulación.
Hoy quiero hablar de una de las más importantes tecnologías de la informática actual, la emulación.
Todo el mundo la usa a diario al menos por partida doble, y es que cualquier procesador (x86) actual, “emula” la arquitectura x86 sobre un conjunto de instrucciones más propios de una arquitectura RISC. La gran mayoría de estos mismos usuarios de PC también usan día a día java, que emula un procesador con su propio juego de instrucciones, el denominado “bytecode”.
La emulación nunca es perfecta, nada en informática lo es, a día de hoy, pero suele ofrecer muy buenos resultados.
Una característica interesante es por ejemplo, que el código emulado puede ser automodificable, independientemente de si la arquitectura que hay debajo lo soporta. Esto podría servir en el caso de que se requiera programar código automodificable en muchas de las arquitecturas modernas, que por motivos de rendimiento separan cachés de código y datos, y no permiten la escritura en la primera.
Pasando a una visión más divertida del asunto le recomiendo a todo el mundo con un teléfono con java (j2me, o jme que es como lo llamán ahora) , que pruebe el meBoy.
Tiene algúnos errores y otras cosas resultan incomodas, pero es lo más espectacular que he visto hasta ahora en el mundo de los emuladores. Emula juegos de gameboy, incluso gameboy color, a velocidad real, sobre cualquier movil de clase media actual (mi nokia 5200, por ejemplo). Es decir, sobre un emulador (la máquina virtual de java) corre otro (meboy) … y todo ello en un gadget del tamaño de una game boy micro. Es increible lo que pueden dar de si los ARM que llevan estos bichos.