Articulo de referencia

Hércules (emulador)

{{citation\n | title = FAQ\n | place = [[European Union]]\n | chapter = 6.1\n | publisher = Hercules 390\n | chapter-url = http://www.hercules-390.eu/hercfaq.html#6.01}} "},"rel...

Hercules es un emulador de computadora que permite que el software escrito para computadoras centrales IBM ( System/370 , System/390 y zSeries/System z ) y para computadoras centrales compatibles (como las máquinas Amdahl ) se ejecute en otros tipos de hardware , especialmente en computadoras personales de bajo costo . Su desarrollo fue iniciado en 1999 por Roger Bowler, un programador de sistemas de computadoras centrales.

Hercules se ejecuta bajo múltiples sistemas operativos principales, incluidos Linux , Microsoft Windows , FreeBSD , NetBSD , Solaris y macOS , y se distribuye bajo la licencia de software de código abierto QPL . [ 3 ] Es similar a Bochs y QEMU en que emula instrucciones de CPU y solo dispositivos periféricos seleccionados. Un proveedor (o distribuidor) debe proporcionar un sistema operativo, y el usuario debe instalarlo. Hercules fue el primer emulador de mainframe en incorporar soporte para la arquitectura z/Architecture de 64 bits .

Diseño

El emulador está escrito casi en su totalidad en C. Sus desarrolladores descartaron el uso de código ensamblador específico de la máquina para evitar problemas de portabilidad, aunque dicho código podría mejorar significativamente el rendimiento. Hay dos excepciones: Hercules utiliza asistencia de hardware para proporcionar consistencia entre procesadores al emular múltiples CPU en sistemas host SMP, y Hercules utiliza asistencia de ensamblador para convertir entre datos little-endian y big-endian en plataformas donde el sistema operativo proporciona dichos servicios y en procesadores x86 / x86-64 .

Estado de los sistemas operativos

Hercules es técnicamente compatible con todos los sistemas operativos de mainframe de IBM, incluso versiones antiguas que ya no se ejecutan en mainframes más recientes. Sin embargo, muchos sistemas operativos de mainframe requieren licencias del proveedor para ejecutarse legalmente. Los sistemas operativos con licencia más recientes, como OS/390 , z/OS , VSE/ESA , z/VSE , VM/ESA , z/VM , TPF/ESA y z/TPF, son técnicamente compatibles, pero no pueden ejecutarse legalmente en el emulador Hercules excepto en circunstancias muy limitadas, [ 4 ] y siempre deben tener licencia de IBM. El código de control Coupling Facility de IBM , que habilita Parallel Sysplex , y UTS también requieren licencias para ejecutarse.

Los sistemas operativos que pueden ejecutarse legalmente en Hercules, sin costes de licencia, incluyen:

  • Los sistemas operativos más antiguos de IBM, incluidos OS/360 , DOS/360 , DOS/VS , MVS , VM/370 y TSS/370 , son de dominio público o "software con derechos de autor proporcionado sin cargo". [ 5 ]
  • El sistema operativo MUSIC/SP puede estar disponible con fines educativos y de demostración previa solicitud a su titular de derechos de autor, la Universidad McGill . Algunas de las funciones de MUSIC/SP, en particular la conectividad de red, requieren z/VM (y, por lo tanto, una licencia de IBM). Sin embargo, se encuentra disponible una versión de demostración completa de MUSIC/SP, que incluye el emulador de mainframe alternativo Sim390.
  • La versión 6.0A del Sistema Terminal de Michigan (MTS) se ha adaptado para funcionar bajo Hercules. [ 6 ]
  • No existe ninguna restricción legal conocida para ejecutar los sistemas operativos de código abierto Linux en IBM Z y OpenSolaris para System z en el emulador Hercules. Funcionan correctamente en Hercules, y muchos desarrolladores de Linux en IBM Z trabajan con él. Varios distribuidores ofrecen versiones de Linux de 64 bits para z/Architecture, y algunos también ofrecen versiones compatibles con ESA/390 . Entre las distribuciones de Linux para mainframe se incluyen SUSE Linux Enterprise Server , Red Hat Enterprise Linux , Debian , CentOS y Slackware . Sine Nomine Associates adaptó OpenSolaris a System z, basándose en las funcionalidades de z/VM. La emulación de estas funcionalidades específicas de z/VM para OpenSolaris está incluida a partir de la versión 3.07 de Hercules.
  • Ciertos editores y utilidades sin restricciones que pueden ejecutarse en un ordenador central sin un sistema operativo principal también podrían estar disponibles para ejecutarse en Hercules.
Debian GNU/Linux ejecutándose en Hercules
  • PDOS/3x0 (Sistema Operativo de Dominio Público, versión para mainframe) se describe como un sistema que proporciona un subconjunto de la API de MVS.

Uso

Hercules puede utilizarse como entorno de desarrollo para verificar que el código sea portable (por ejemplo, entre diferentes arquitecturas de procesadores Linux), que admita el procesamiento simétrico multiprocesador (SMP) y que sea "limpio" de 64 bits.

También existe una gran comunidad de operadores y programadores de mainframes actuales y antiguos, así como de personas sin experiencia previa, que utilizan Hercules y los sistemas operativos IBM de dominio público como pasatiempo y con fines de aprendizaje. [ 7 ] La mayoría de las habilidades adquiridas al explorar versiones clásicas de sistemas operativos de mainframes IBM siguen siendo relevantes al migrar a máquinas IBM con licencia que ejecutan las versiones más recientes .

La naturaleza de código abierto de Hercules significa que cualquiera puede producir su propia versión personalizada del emulador. Por ejemplo, un grupo de desarrolladores independientes del proyecto Hercules implementó una arquitectura híbrida de mainframe que denominaron "S/380" [ 8 ] utilizando modificaciones tanto a Hercules como a versiones clásicas de MVS (y posteriormente VM y DOS/VS) disponibles gratuitamente, mejorando los sistemas operativos con cierto grado de compatibilidad binaria de 31 bits (y desde 2016, de 64 bits) con versiones posteriores del sistema operativo (y desde 2018, también se admiten 32 bits).

Actuación

Resulta difícil determinar con exactitud cómo se corresponde el rendimiento de la emulación de Hercules con el hardware real de un mainframe, pero es comprensible que las características de rendimiento sean bastante diferentes. Esto se debe, en parte, a la dificultad de comparar el hardware real de un mainframe con otros PC y servidores, así como a la falta de comparaciones de rendimiento concretas y controladas. Es probable que las comparaciones de rendimiento sean legalmente imposibles para los sistemas operativos IBM con licencia, y estos sistemas operativos son muy diferentes de otros sistemas operativos, como Linux.

Hercules expresa su rendimiento de procesamiento en MIPS . Debido a la antigüedad del hardware System/360 y System/370, es razonable suponer que Hercules los superará en rendimiento al ejecutarse en hardware de potencia moderada, a pesar de la considerable sobrecarga que supone emular una arquitectura informática mediante software. Sin embargo, las máquinas System z más recientes, configuradas parcial o totalmente, superan a Hercules por un amplio margen. Una máquina X86 de doble procesador relativamente rápida que ejecuta Hercules es capaz de mantener entre 50 y 60 MIPS para código que utiliza ambos procesadores en un entorno realista, con tasas sostenidas que alcanzan los 300 MIPS en sistemas de PC de última generación (principios de 2009). Hercules puede producir picos de más de 1200 MIPS al ejecutarse en un bucle cerrado, como en una prueba de rendimiento de instrucciones sintéticas o con otros programas pequeños que requieren mucha computación.

Tom Lehmann, cofundador de TurboHercules, escribió:

...Podemos ejecutar una carga de tamaño razonable (800 MIPS con nuestro paquete estándar). Si la máquina en cuestión es más grande que eso, podemos escalar a 1600 MIPS con nuestro paquete basado en Nehalem cuádruple, y nos han prometido una máquina basada en Nehalem EX de 8 vías para principios del próximo año que debería llevarnos a la marca de 3200 MIPS. Cualquier cosa más grande que eso se replica mediante un conjunto de sistemas. [ 9 ]

Hercules generalmente supera a los mainframes basados ​​en PC de IBM de mediados de la década de 1990, que tienen un rendimiento máximo anunciado de alrededor de 29 MIPS. Comparado con los mainframes IBM Multiprise 2000 y 3000 más potentes pero aún de nivel básico (también de la década de 1990), Hercules en hardware x86 típico se consideraría un servidor de gama media en términos de rendimiento. Para cada mainframe posterior a la Generación 1 del 9672, Hercules sería generalmente el sistema de gama más baja . Para comparar, los sistemas de gama alta IBM zEnterprise 196 de la era de 2010 pueden ofrecer más de 52 000 MIPS por máquina, y tienen ventajas considerables en el rendimiento de E/S. [ 10 ] Con la misma cantidad de procesadores Sys Z emulados, z/PDT es aproximadamente 3 veces más rápido que Hercules.

Cabe destacar que, además del rendimiento, existen otros atributos del sistema no funcionales que suelen ser relevantes para los operadores de mainframes. Estos incluyen alta disponibilidad, conmutación por error, CPU y RAM de conexión en caliente, enrutamiento de E/S a través de mallas de E/S, migración de sistemas y gestión de LPAR. Por ejemplo, las arquitecturas 370/390/ESA/z implementan E/S mediante cuatro instrucciones: se pueden configurar operaciones de E/S grandes y complejas y transferirlas al periférico para su procesamiento; la CPU no interviene más en la E/S hasta que el dispositivo de E/S notifica que ha completado la operación. Esto da como resultado sistemas mainframe donde la gran mayoría de los "ciclos de CPU" se utilizan no en la propia CPU del mainframe, sino en el conjunto de procesadores integrados en los periféricos de E/S. La CPU del mainframe actúa entonces más como un director de orquesta, coordinando el movimiento de datos, en lugar de "calcular" propiamente dicho. Los dispositivos de E/S más sencillos se pueden emular; los sistemas complejos supondrían un desafío.

TurboHércules

En 2009, Roger Bowler fundó TurboHercules SAS, con sede en Francia, para comercializar la tecnología Hercules. En julio de 2009, TurboHercules SAS solicitó a IBM que licenciara z/OS a sus clientes para su uso en sistemas vendidos por TurboHercules. IBM rechazó la solicitud de la empresa. [ 11 ] En marzo de 2010, TurboHercules SAS presentó una queja ante los reguladores de la Comisión Europea , alegando que IBM infringió las normas antimonopolio de la UE mediante su supuesta vinculación del hardware de mainframe con su sistema operativo de mainframe, y la CE abrió una investigación preliminar. [ 12 ] En noviembre de 2010, TurboHercules anunció que había recibido una inversión de Microsoft Corporation. [ 13 ] En septiembre de 2011, los reguladores de la CE cerraron su investigación sin tomar medidas. [ 14 ]

Véase también

Referencias

  1. "6.1" , Preguntas frecuentes , Unión Europea : Hercules 390
  2. "6.1" , Preguntas frecuentes , GitHub : SDL Hercules 390
  3. Licencias por nombre (alfabético) (lista), Open Source Initiative, 16 de septiembre de 2022
  4. "¿Qué sistemas operativos puedo ejecutar legalmente?" , Hercules Versión 3: Preguntas frecuentes , Hercules Versión 3: Preguntas frecuentes.
  5. "2.02. ¿Qué sistemas operativos puedo ejecutar legalmente?" , Preguntas frecuentes , UE: Hercules 390 Versión 3.
  6. "Archivo del Sistema de Terminales de Michigan" . Archivado del original el 11 de enero de 2011. Consultado el 10 de diciembre de 2022 .
  7. "Grupo de discusión de Hércules" . hercules-390.groups.io . Consultado el 5 de junio de 2026 .
  8. "Descripción del S/380" , proyecto MVS/380 , Sourceforge.
  9. ¡Hércules se vuelve comercial! (Blog web), Oracle, archivado del original el 10 de octubre de 2016
  10. Morgan, Timothy Prickett (12 de julio de 2011). "IBM lanza nuevos System z minis a las empresas de mainframes" . theregister . Consultado el 3 de junio de 2026 .
  11. Intercambio de cartas entre TurboHercules e IBM , Turbo Hercules, archivado del original el 12 de octubre de 2011..
  12. Antimonopolio: La Comisión inicia investigaciones formales contra IBM en dos casos de presunto abuso de posición dominante en el mercado , Comisión Europea, 26 de julio de 2010.
  13. Comunicado de prensa (PDF) , TurboHercules, 23 de noviembre de 2010, archivado del original (PDF) el 10 de marzo de 2012..
  14. Antimonopolio: La Comisión examina los compromisos de IBM en materia de mantenimiento de mainframes y cierra un caso aparte sobre presunta vinculación ilícita , CE, 20 de septiembre de 2011.
  • Hércules, hijo de Z (Reseña en Tech-news.com)
  • La cinta CBT contiene una colección de sistemas operativos para mainframes de IBM y otros programas.
  • Archivo de software de dominio público (incluye la imagen del CD Turnkey MVS)