GXemul (anteriormente conocido como mips64emul ) es un emulador de arquitectura de computadora desarrollado por Anders Gavare. Está disponible como software gratuito con una licencia revisada de estilo BSD . En 2005, Gavare cambió el nombre del proyecto de software de mips64emul a GXemul. Esto fue para evitar dar la impresión de que el emulador estaba confinado a la arquitectura MIPS , que era la única arquitectura que se emulaba inicialmente.
Desarrollador (es) | Anders Gavare |
---|---|
Lanzamiento estable | 0.6.2 / 22 de junio de 2019 |
Tipo | Emulador |
Licencia | Licencia estilo BSD |
Sitio web | gavare |
Aunque el desarrollo del emulador todavía es un trabajo en progreso, desde 2004 ha sido lo suficientemente estable como para permitir que varios sistemas operativos invitados no modificados se ejecuten como si se estuvieran ejecutando en hardware real. Las arquitecturas de procesador emuladas actualmente incluyen ARM , MIPS , M88K , PowerPC y SuperH . Los sistemas operativos invitados que se ha verificado que funcionan dentro del emulador son NetBSD , OpenBSD , Linux , HelenOS , Ultrix y Sprite .
Además de ejecutar sistemas operativos invitados completos, el emulador también se puede usar para experimentos a menor escala, como el desarrollo de sistemas operativos de pasatiempos, o se puede usar como depurador general .
Traducción dinámica
La emulación del procesador de GXemul utiliza traducción dinámica para convertir las instrucciones del procesador emulado en una representación intermedia (IR). El IR está en un formato que puede ser ejecutado por el anfitrión. En otras palabras, debería ser posible migrar el emulador a nuevas arquitecturas de host con solo una recompilación; No es necesario implementar un backend de generación de código nativo para cada arquitectura de host para que funcione.
Ejemplo de uso
Suponiendo que haya descargado una imagen ISO de CD-ROM NetBSD / pmax 5.0 (pmaxcd-5.0.iso), los siguientes comandos le permitirán instalar NetBSD en una DECstation 5000 Modelo 200 emulada (también conocida como "3max"):
dd if = / dev / zero of = nbsd_pmax.img bs = 1024 count = 1 seek = 3000000
gxemul -e 3max -d nbsd_pmax.img -db: pmaxcd-5.0.iso
El primer comando ( dd ) crea una imagen de disco vacía y el segundo comando lanza GXemul. La -e opción especifica la máquina a emular, y la -d opciones agregan imágenes de disco. La primera imagen de disco es la imagen de disco recién creada donde se instalará NetBSD. El segundo es la imagen ISO del CD-ROM; la b: el indicador modificador significa que el sistema debe arrancar desde la imagen ISO, en lugar de la primera imagen de disco disponible.
Instalar NetBSD dentro del emulador debería ser muy similar a instalarlo en hardware real. Una vez que se haya completado la instalación, el siguiente comando debería iniciar NetBSD desde la imagen del disco:
gxemul -e 3max -d nbsd_pmax.img