Hercules (emulator)

Herkules
Originalförfattare Roger Bowler
Utvecklare Jay Maynard , Jan Jaeger, David "Fish" Trout, Greg Smith, Bernard van der Helm, Ivan Warren och andra
Initial release 1999 ( 1999 )
Slutlig utgåva
3.13 / 29 september 2017 ; 5 år sedan ( 29 september 2017 )
Förhandsgranska release
4.0.0-rc0 / 16 december 2016 ; för 6 år sedan ( 2016-12-16 )
Förvar
3.xx spinhawk 4.0 hyperion
Skrivet i C
Operativ system Cross-plattform
Typ Emulator
Licens Q Offentlig licens
Hemsida www .hercules-390 .eu
SDL 4.x Hyperion
Utvecklare Jay Maynard , Jan Jaeger, David "Fish" Trout, Greg Smith, Bernard van der Helm, Ivan Warren och andra
Stabil frisättning
4.5.0 / 27 november 2022 ; 2 månader sedan ( 2022-11-27 )
Förvar github .com /SDL-Hercules-390 /hyperion
Företrädare Hercules 4.0.0 Release Candidate 0
Hemsida sdl-hercules-390 .github .io /html /

Hercules är en datoremulator som tillåter programvara skriven för IBM stordatorer ( System/370 , System/390 och zSeries/System z ) och för pluggkompatibla stordatorer (som Amdahl- maskiner) att köras på andra typer av datorhårdvara, särskilt på låg -kostnad persondatorer . Utvecklingen startade 1999 av Roger Bowler, en programmerare för stordatorsystem.

Hercules körs under flera moderoperativsystem inklusive Linux , Microsoft Windows , FreeBSD , NetBSD , Solaris och macOS och släpps under programvarulicensen QPL med öppen källkod . Det är analogt med Bochs och QEMU genom att det emulerar CPU- instruktioner och endast utvalda perifera enheter. En leverantör (eller distributör) måste fortfarande tillhandahålla ett operativsystem, och användaren måste installera det. Hercules var den första stordatoremulatorn som inkorporerade 64-bitars z/arkitekturstöd .

Design

Emulatorn är skriven nästan helt i C . Dess utvecklare uteslöt att använda maskinspecifik monteringskod för att undvika problem med portabilitet även om sådan kod kunde förbättra prestandan avsevärt. Det finns två undantag: Hercules använder hårdvaruhjälp för att ge konsistens mellan processorer när man emulerar flera processorer på SMP-värdsystem, och Hercules använder assemblerhjälp för att konvertera mellan små och stora data på plattformar där operativsystemet tillhandahåller sådana tjänster och på x86 / x86-64 -processorer.

Operativsystems status

Hercules är tekniskt kompatibel med alla IBMs stordatoroperativsystem, även äldre versioner som inte längre körs på nyare stordatorer. Men många stordatoroperativsystem kräver leverantörslicenser för att köras lagligt. Nyare licensierade operativsystem, som OS/390 , z/OS , VSE/ESA , z/VSE , VM/ESA , z/VM , TPF/ESA och z/TPF är tekniskt kompatibla men kan inte köras lagligt på Hercules-emulatorn förutom under mycket begränsade omständigheter [ citat behövs ] , och de måste alltid vara licensierade från IBM. IBMs Coupling Facility- kontrollkod, som möjliggör Parallel Sysplex , och UTS kräver också licenser för att köras.

Operativsystem som lagligt kan köras, utan licenskostnader, på Hercules inkluderar:

  • Äldre IBM-operativsystem inklusive OS/360 , DOS/360 , DOS/VS , MVS , VM/370 och TSS/370 som antingen är allmän egendom eller "upphovsrättsskyddad programvara tillhandahålls utan kostnad."
  • Operativsystemet MUSIC/SP kan vara tillgängligt för utbildnings- och demonstrationsändamål på begäran till dess upphovsrättsinnehavare, McGill University . Vissa av MUSIC/SP:s funktioner, särskilt nätverk, kräver z/VM (och därmed en IBM-licens). En komplett demonstrationsversion av MUSIC/SP, paketerad med den alternativa Sim390 stordatoremulatorn, finns dock tillgänglig.
  • Michigan Terminal System (MTS) version 6.0A har skräddarsytts för att köras under Hercules.
  • Det finns ingen känd juridisk begränsning för att köra operativsystem med öppen källkod Linux på IBM Z och OpenSolaris för System z på Hercules-emulatorn. De fungerar bra på Hercules, och många Linux på IBM Z-utvecklare [ vem ? ] gör sitt arbete med Hercules. Flera distributörer tillhandahåller 64-bitars z/arkitekturversioner av Linux, och vissa tillhandahåller även ESA/390- kompatibla versioner. Mainframe Linux-distributioner inkluderar SUSE Linux Enterprise Server , Red Hat Enterprise Linux , Debian , CentOS och Slackware . Sine Nomine Associates förde OpenSolaris till System z, beroende på funktioner från z/VM. Emulering av dessa specifika z/VM-funktioner för OpenSolaris ingår från och med Hercules version 3.07.
  • Vissa fria redigerare och verktyg som kan köras på en stordator utan ett moderoperativsystem kan vara tillgängliga att köra på Hercules också.
Debian GNU/Linux körs på Hercules
  • PDOS/3X0 (operativsystem för offentliga domäner, stordatorversion)

Användande

Hercules kan användas som en utvecklingsmiljö för att verifiera att koden är portabel (till exempel över Linux-processorarkitekturer), stöder symmetrisk multiprocessing (SMP) och är 64-bitars "ren".

Det finns också en stor grupp av nuvarande och tidigare stordatoroperatörer och programmerare, såväl som de utan tidigare erfarenhet, som använder Hercules och IBMs offentliga operativsystem som en hobby och för lärande syften [ citat behövs ] . De flesta av de färdigheter som förvärvats när man utforskar klassiska versioner av IBM stordatoroperativsystem är fortfarande relevanta vid övergång till licensierade IBM-maskiner som kör de senaste versionerna [ citat behövs ] .

natur med öppen källkod innebär att vem som helst kan producera sin egen anpassade version av emulatorn. Till exempel implementerade en grupp utvecklare oberoende av Hercules-projektet en hybrid stordatorarkitektur som de kallade "S/380" med modifieringar av både Hercules och fritt tillgängliga klassiska versioner av MVS (och senare VM och DOS/VS), vilket förbättrade operativsystem med en viss grad av 31-bitars (och från och med 2016, 64-bitars) binär kompatibilitet med senare operativsystemversioner (och från och med 2018 stöds också 32-bitars).

Prestanda

Det är svårt att avgöra exakt hur Hercules emuleringsprestanda motsvarar verklig stordatorhårdvara, men prestandaegenskaperna är förståeligt nog ganska olika. Detta beror delvis på svårigheten att jämföra riktig stordatorhårdvara med andra datorer och servrar samt avsaknaden av konkreta, kontrollerade prestandajämförelser. Prestandajämförelser är sannolikt juridiskt omöjliga för licensierade IBM-operativsystem, och dessa operativsystem skiljer sig ganska mycket från andra operativsystem, som Linux.

Hercules uttrycker sin bearbetningsprestanda i MIPS . På grund av åldern på den tidigare System/360- och System/370-hårdvaran är det ett relativt säkert antagande att Hercules kommer att överträffa dem när de körs på måttligt kraftfull hårdvara, trots den avsevärda omkostnaden för att emulera en datorarkitektur i mjukvara. Men nyare, delvis eller helt konfigurerade System z-maskiner överträffar Hercules med stor marginal. En relativt snabb X86-maskin med dubbla processorer som kör Hercules är kapabel att upprätthålla cirka 50 till 60 MIPS för kod som använder båda processorerna i en realistisk miljö, med ihållande hastigheter som stiger till rapporterade 300 MIPS på ledande (tidigt 2009) PC-klasssystem . Hercules kan producera toppar på över 1200 MIPS när den körs i en tight loop, till exempel i en syntetisk instruktionsbenchmark eller med andra små, beräkningskrävande program.

Tom Lehmann, medgrundare av TurboHercules, skrev:

...Vi kan köra en lagom stor last (800 MIPS med vårt standardpaket). Om maskinen i fråga är större än så kan vi skala till 1600 MIPS med vårt quad Nehalem-baserade paket, och vi har blivit lovade en 8-vägs Nehalem EX-baserad maskin tidigt nästa år som borde ta oss till 3200 MIPS-märket. Allt större än så replikeras av en samling system.

Hercules överträffar generellt IBMs PC-baserade stordatorer från mitten av 1990-talet, som har en annonserad toppprestanda på cirka 29 MIPS. Jämfört med de mer kraftfulla men ändå nybörjar IBM Multiprise 2000 och 3000 stordatorer (också från 1990-talet), skulle Hercules på typisk x86-hårdvara anses vara en mellanklassserver i prestandatermer. För varje stordator efter 9672 generation 1 skulle Hercules i allmänhet vara det lägsta systemet. Som jämförelse kan 2010-erans avancerade IBM zEnterprise 196- system leverera över 52 000 MIPS per maskin, och de har betydande I/O-prestandafördelar. [ citat behövs ] Med samma antal emulerade Sys Z-processorer är z/PDT cirka 3 gånger snabbare än Hercules. [ citat behövs ]

Observera att det finns andra icke-funktionella systemattribut [ vilka? ] utöver prestanda [ förtydligande behövs ] som vanligtvis är relevanta för stordatoroperatörer.

TurboHercules

2009 grundade Roger Bowler TurboHercules SAS, baserat i Frankrike, för att kommersialisera Hercules-teknologin. I juli 2009 bad TurboHercules SAS IBM att licensiera z/OS till sina kunder för användning på system som säljs av TurboHercules. IBM avslog företagets begäran. I mars 2010 lämnade TurboHercules SAS in ett klagomål till EU-kommissionens tillsynsmyndigheter och påstod att IBM brutit mot EU:s antitrustregler genom sin påstådda koppling av stordatorhårdvara till sitt stordatoroperativsystem, och EU inledde en förundersökning. I november 2010 meddelade TurboHercules att de hade fått en investering från Microsoft Corporation. I september 2011 avslutade EG:s tillsynsmyndigheter sin utredning utan åtgärd.

Se även

externa länkar