stringtranslate.com

Hercules (emulador)

Hercules es un emulador de ordenador que permite ejecutar software escrito para ordenadores mainframe de IBM ( System/370 , System/390 y zSeries/System z ) y para mainframes compatibles con plug-in (como las máquinas Amdahl ) en otros tipos de hardware informático, especialmente en ordenadores personales de bajo coste . Su desarrollo comenzó en 1999 a cargo de Roger Bowler, un programador de sistemas mainframe.

Hercules se ejecuta en varios sistemas operativos principales, incluidos Linux , Microsoft Windows , FreeBSD , NetBSD , Solaris y macOS, y se publica bajo la licencia de software de código abierto QPL . [3] Es análogo a Bochs y QEMU en el sentido de que emula instrucciones de CPU y selecciona solo dispositivos periféricos. Un proveedor (o distribuidor) aún debe proporcionar un sistema operativo y el usuario debe instalarlo. Hercules fue el primer emulador de mainframe en incorporar soporte para 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 con la portabilidad, aunque dicho código podría mejorar significativamente el rendimiento. Hay dos excepciones: Hercules usa asistencias de hardware para proporcionar consistencia entre procesadores al emular múltiples CPU en sistemas host SMP, y Hercules usa asistencias 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 mainframe de IBM, incluso con versiones anteriores que ya no se ejecutan en mainframes más nuevos. Sin embargo, muchos sistemas operativos mainframe requieren licencias de proveedores para ejecutarse legalmente. Los sistemas operativos con licencia más nuevos, 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 [ cita requerida ] , 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, sin costos de licencia, en Hercules incluyen:

Debian GNU/Linux ejecutándose en Hercules

Uso

Hercules se puede utilizar como entorno de desarrollo para verificar que el código sea portable (en todas las arquitecturas de procesadores Linux, por ejemplo), admita multiprocesamiento simétrico (SMP) y sea "limpio" de 64 bits.

También existe una gran comunidad de operadores y programadores de mainframe actuales y antiguos, así como de aquellos sin experiencia previa, que utilizan Hercules y los sistemas operativos de dominio público de IBM como pasatiempo y con fines de aprendizaje [ cita requerida ] . La mayoría de las habilidades adquiridas al explorar las versiones clásicas del sistema operativo de mainframe de IBM siguen siendo relevantes al realizar la transición a máquinas IBM con licencia que ejecutan las versiones más recientes [ cita requerida ] .

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 implementaron una arquitectura híbrida de mainframe a la que denominaron "S/380" [6] utilizando modificaciones tanto de Hercules como de versiones clásicas de MVS (y más tarde de VM y DOS/VS) disponibles de forma gratuita, mejorando los sistemas operativos con cierto grado de compatibilidad binaria de 31 bits (y a partir de 2016, de 64 bits) con versiones posteriores del sistema operativo (y a partir de 2018, también se admite la de 32 bits).

Actuación

Es difícil determinar exactamente cómo se corresponde el rendimiento de la emulación de Hercules con el hardware de mainframe real, pero es comprensible que las características de rendimiento sean bastante diferentes. Esto se debe en parte a la dificultad de comparar el hardware de mainframe real 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 esos sistemas operativos son bastante diferentes de otros sistemas operativos, como Linux.

Hercules expresa su rendimiento de procesamiento en MIPS . Debido a la antigüedad del hardware anterior System/360 y System/370, es una suposición relativamente segura que Hercules los superará cuando se ejecute en hardware moderadamente potente, a pesar de la considerable sobrecarga de emular una arquitectura de computadora en software. Sin embargo, las máquinas System z más nuevas, configuradas parcial o totalmente, superan a Hercules por un amplio margen. Una máquina X86 de procesador dual relativamente rápida que ejecute Hercules es capaz de mantener alrededor de 50 a 60 MIPS para código que utiliza ambos procesadores en un entorno realista, con tasas sostenidas que aumentan hasta los 300 MIPS informados en sistemas de clase PC de vanguardia (principios de 2009). Hercules puede producir picos de más de 1200 MIPS cuando se ejecuta en un bucle estrecho, como en un punto de referencia de instrucción sintética o con otros programas pequeños de uso intensivo de cómputo.

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 a 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 una colección de sistemas. [7]

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

Tenga en cuenta que hay otros atributos del sistema no funcionales [ ¿cuáles? ] más allá del rendimiento [ aclaración necesaria ] que normalmente son relevantes para los operadores de mainframe.

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 otorgara licencias de z/OS a sus clientes para su uso en sistemas vendidos por TurboHercules. IBM rechazó la solicitud de la empresa. [8] En marzo de 2010, TurboHercules SAS presentó una queja ante los reguladores de la Comisión Europea , alegando que IBM infringía las normas antimonopolio de la UE a través de su supuesta vinculación del hardware de mainframe a su sistema operativo de mainframe, y la CE abrió una investigación preliminar. [9] En noviembre de 2010, TurboHercules anunció que había recibido una inversión de Microsoft Corporation. [10] En septiembre de 2011, los reguladores de la CE cerraron su investigación sin tomar medidas. [11]

Véase también

Referencias

  1. ^ "6.1", Preguntas frecuentes , UE : Hercules 390
  2. ^ "6.1", Preguntas frecuentes , GitHub : SDL Hercules 390
  3. ^ Licencias por nombre (orden alfabético) (lista), Open Source Initiative, 16 de septiembre de 2022
  4. ^ "2.02. ¿Qué sistemas operativos puedo ejecutar legalmente?", Preguntas frecuentes , UE: Hercules 390 versión 3.
  5. ^ "Archivo del sistema de terminales de Michigan". Archivado desde el original el 11 de enero de 2011. Consultado el 10 de diciembre de 2022 .
  6. ^ "Descripción del S/380", proyecto MVS/380 , Sourceforge.
  7. ^ ¡ Hércules se comercializa! (blog), Oracle, archivado desde el original el 10 de octubre de 2016
  8. ^ Intercambio de cartas entre TurboHercules e IBM, Turbo Hercules, archivado desde el original el 12 de octubre de 2011.
  9. ^ 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.
  10. ^ Comunicado de prensa (PDF) , TurboHercules, 23 de noviembre de 2010, archivado desde el original (PDF) el 10 de marzo de 2012.
  11. ^ Antimonopolio: La Comisión pone a prueba los compromisos de IBM en materia de mantenimiento de mainframes y cierra un caso independiente sobre presunta venta ilegal de productos, CE, 20 de septiembre de 2011.

Enlaces externos