Hercules es un emulador de computadora que permite que el software diseñado para las computadoras mainframe de IBM sea ejecutado en otros tipos de hardware, en especial encomputadoras personales de bajo costo. Aunque existen otros emuladores de mainframe que realizan una función similar, Hercules es significativo por permitirle a individuos elejecutar software escrito para mainframes en sus propios equipos. Hercules puede ejecutarse en varios sistemas operativos, incluyendo Linux, Windows, FreeBSD, Solaris y Mac OS X, yestá liberado bajo la licencia de código abierto QPL. Es análogo a Bochs y a QEMU en cuando a que emula solamente las instrucciones de la CPU y de los dispositivos periféricos;el sistema operativo debe ser proporcionado por el usuario. Hercules fue el primer emulador de mainframe que incorporó soporte para la arquitectura z/Architecture de 64 bits,adelantándose a las alternativas comerciales.
Roger Bowler, un programador de sistemas mainframe, comenzó el desarrollo del emulador Hercules en 1999. Jay Maynard es quienactualmente mantiene y hospeda el proyecto.
Diseño
El emulador está escrito casi totalmente en el lenguaje de programación C. El código ensamblador específico, que otros emuladoresutilizan, fue descartado debido a su falta de portabilidad, a pesar de las mejoras en rendimiento que ofrece. Hay dos excepciones: se utilizan ayudas basadas en hardware paraproporcionar consistencia entre procesadores cuando se emulan múltiples unidades de procesamiento en sistemas que soportan SMP. También se utilizan fragmentos de ensamblador paraconvertir entre datos little-endian y big-endian en plataformas donde el sistema operativo lo soporta, o si el procesador anfitrión es miembro de las familias x86 o x86-64.
Leer documento completo
Regístrate para leer el documento completo.