Existen diversos virtualizadores de ordenadores x86: VmWare, Parallels,... Lo que ya no hay tantos son emuladores. Ahora mismo solo me viene a la cabeza Bochs. La diferencia entre unos y otros es que los emuladores tienen que implementar todas las instrucciones de la CPU mientras que los virtualizadores aprovechan la CPU sobre la que se están ejecutando.
De este modo, los virtualizadores consiguen mucha más velocidad. A cambio, necesitan que el ordenador virtualizado tenga la misma clase de CPU que donde se ejecuta, mientras que los emuladores no, con lo que podríamos, por ejemplo, emular un procesador Z80 sobre un procesador x86.
el JPC Project hace, precisamente eso. Emular una CPU x86 sobre cualquier otra, ya que está programado en Java, por lo que en cualquier dispositivo donde se pueda ejecutar Java se podrá emular un x86. A que velocidad podrá hacerse es otra cosa.
Si queréis ver un ejemplo del funcionamiento de este proyecto en su página disponen de una demo en la que ni siquiera es necesario descargarse nada. Funciona como un applet en el navegador y en la imagen de disco que le acompaña encontramos el sistema operativo FreeDOS y diversos juegos como Pacman o Prince of Persia.
Vía | Slashdot. Más información | JPC Project. Demo | JPC Demo.