Hercules (emulátor)

Z Wikipedie, otevřené encyklopedie
Hercules
Logo
emulátor Hercules spuštěný v Ubuntu
emulátor Hercules spuštěný v Ubuntu
VývojářJay Maynard, Jan Jaeger, David "Fish" Trout, Greg Smith, Bernard van der Helm, Ivan Warren a další[1]
První vydání1999
Aktuální verze3.13 (30. září 2017)
Připravovaná verze4.0.0-rc0 (16.  prosince 2016; před 2726 dny)
Operační systémMultiplatformní
Vyvíjeno vC
Typ softwaruEmulátor
LicenceQ Public License
Webwww.hercules-390.eu
Některá data mohou pocházet z datové položky.
SDL 4.x Hyperion
Logo
VývojářJay Maynard, Jan Jaeger, David "Fish" Trout, Greg Smith, Bernard van der Helm, Ivan Warren a další[2]
Aktuální verze4.7.0 (10.  března 2024; před 85 dny)
Operační systémLinux
Microsoft Windows
macOS
Solaris
FreeBSD
Vyvíjeno vC
Typ softwaruemulátor a svobodný software
LicenceQ Public License
Websdl-hercules-390.github.io/html/
Některá data mohou pocházet z datové položky.

Hercules je softwarový emulátor pro provozování softwaru napsaného pro sálové počítače počítače IBM (System/370, System/390 a zSeries/System z) a počítače s nimi kompatibilní (např. počítače Amdahl) na jiných typech hardwaru, především na laciných osobních počítačích. Jeho vývoj započal v roce 1999 Roger Bowler, systémový programátor sálových počítačů.

Hercules je dostupný pro různé hostitelské operační systémy včetně Linuxu, Microsoft Windows, FreeBSD, NetBSD, Solarisu a MacOSu a je vydán pod licencí QPL s otevřeným zdrojovým textem.[3] Je podobný emulátorům Bochs a QEMU v tom, že emuluje pouze instrukce CPU a pouze vybírá periferní zařízení. Operační systém musí stále poskytnout výrobce (nebo distributor), a uživatel jej musí nainstalovat. Hercules byl první emulátor sálových počítačů s podporou 64bitové z/Architecture.

Návrh[editovat | editovat zdroj]

Emulátor je napsán téměř zcela v jazyce C. Jeho vývojáři vyloučili použití konkrétního strojového kódu, aby se zabránilo problémům s portabilitou, přestože by toto řešení pravděpodobně výrazně zlepšilo výkon. Existují dvě výjimky: Hercules využívá hardwarovou podporu meziprocesorové konzistence při emulaci více procesorů na systémech se symetrickým multiprocessingem, a strojově závislé instrukce pro konverze mezi daty ve formátech little endian a big endian na platformách, kde takové služby poskytuje operační systém a na procesorech X86/X86-64.

Podporované operační systémy[editovat | editovat zdroj]

Hercules je technicky kompatibilní se všemi operačními systémy pro sálové počítače IBM, včetně starších verzí, které už nelze provozovat na novějších počítačích. Mnoho operačních systémů však pro legální provoz vyžaduje licenci od svého dodavatele. Novější licencované operační systémy, např. OS/390, z/OS, VSE/ESA, z/VSE, VM/ESA, z/VM, TPF/ESA, a z/TPF jsou technicky kompatibilní, ale na emulátoru Hercules je není možné legálně provozovat s výjimkou velmi omezených okolností[zdroj?], a vždy musí být licencovány od IBM. Řídicí kód Coupling Facility společnosti IBM, který umožňuje provozovat Paralel Sysplex a UTS Unix také vyžaduje ke svému použití licenci.

K operačním systémům, které je možné na emulátoru Hercules legálně provozovat bez licenčních nákladů, patří:

  • Starší operační systémy společnosti IBM včetně OS/360, DOS/360, DOS/VS, MVS, VM/370 a TSS/370, který byly uvolněny jako volné dílo nebo „software chráněný autorskými právy, ale poskytovaný bezplatně“.[4]
  • Operační systém MUSIC/SP může být dostupný pro vzdělávací a ukázkové účely na základě žádosti adresované držiteli autorských práv, McGillovy Univerzity. Některé funkce MUSIC/SP, zejména síťové, vyžadují z/VM (a tedy licenci IBM). K dispozici je však kompletní demonstrační verze systému MUSIC/SP, která je přibalena k alternativnímu emulátoru Sim390.
  • Michigan Terminal System (MTS) verze 6.0A byl upraven, aby fungoval pod emulátorem Hercules.[5]
  • Není známo žádné právní omezení pro provozování operačních systémů s otevřeným zdrojovým textem Linux na IBM Z a OpenSolaris pro System z na emulátoru Hercules. Na emulátoru Hercules běží dobře, a mnoho vývojářů Linuxu na IBM Z[kdo?] při své práci emulátor Hercules používá. Několik distributorů poskytuje 64bitové verze Linuxu pro z/Architecture, a někteří také poskytují verze kompatibilní s ESA/390. K distribucím Linuxu pro sálové počítače patří SUSE Linux Enterprise Server, Red Hat Enterprise Linux, Debian, CentOS a Slackware. Společnost Sine Nomine přenesla OpenSolaris na System z, který využívá funkce poskytované systémem z/VM. Emulace těchto vlastností specifických pro z/VM na OpenSolaris je zahrnuta v emulátoru Hercules od verze 3.07.
  • Určité licencí nezatížené editory a programy, které lze spustit na sálových počítačích bez hostitelského operačního systému, mohou být dostupné také na emulátoru Hercules.
Debian GNU/Linux běžící na emulátoru Hercules

Použití[editovat | editovat zdroj]

Hercules může být používán jako vývojové prostředí pro verifikaci, že kód je přenositelný (např. mezi architekturami různých procesorů), podporuje symetrický multiprocesing (SMP), a je „čistě“ 64bitový.

Existuje také velká komunita aktuálních a prvních operátorů a programátorů sálových počítačů, stejně jako lidé bez předchozí zkušenosti, kteří používá Hercules a veřejný doména IBM operační systémy jako hobby a pro účely učení[zdroj?]. Většina dovedností získaných používáním klasických verzí operačních systémů sálových počítačů IBM je stále relevantní, když který přechází na licencovaný IBM stroje běžící nejnovější verze[zdroj?].

Díky tomu, že emulátoru Hercules má otevřený zdrojový text]], může kdokoli produkovat svou vlastní upravenou verzi emulátoru. Například skupina vývojářů nezávislých na projektu Hercules implementovala hybridní architekturu sálových počítačů, kterou nazývají „S/380“[6] použitím úprav emulátoru Hercules a volně dostupné klasické verze MVS (a později VM a DOS/VS) a vylepšuje operační systémy s určitým stupněm 31bitové (a v roce 2016 i 64bitové) binární kompatibility s pozdějšími verzemi operačních systémů (od roku 2018 jsou podporovány také 32bitové stroje).

Výkonnost[editovat | editovat zdroj]

Šablona:Doplňte citace

Určit, jak výkon emulátoru Hercules odpovídá reálnému hardwaru sálových počítačů, je obtížné, ale výkonnostní charakteristiky se pochopitelně značně liší. Částečně je to způsobené obtížemi při porovnávání skutečného hardwaru sálových počítačů s jinými počítači a servery, a také nedostatkem konkrétních, výkonností řízených porovnání. Porovnání výkonnosti je pro licencované operační systémy IBM pravděpodobně legálně nemožné, a tyto operační systémy jsou zcela odlišné od jiných operačních systémů, jako je např. Linux.

Hercules udává svůj výpočetní výkon v MIPS. S ohledem na výkon staršího hardwaru System/360 a System/370 lze poměrně bezpečně předpokládat, že Hercules bude, i přes významnou režii softwarové emulace počítačové architektury, mít na středně výkonném hardwaru vyšší výkonost. Novější, částečně nebo plně zkonfigurované stroje System z, však budou překonávat Hercules s velkým náskokem. Relativně rychlý dvouprocesorový stroj X86 se systémem Hercules je schopen při využití obou procesorů v reálném prostředí vykonávat kód rychlostí přibližně 50 až 60 MIPS, přičemž na nejmodernějších systémech třídy PC (na počátku roku 2009) je uváděna trvalá rychlost až 300 MIPS. Při běhu v malé smyčce, například v benchmarku syntetických instrukcí nebo s jinými malými programy náročnými na výpočetní výkon, může Hercules dosáhnout maximálních hodnot přes 1200 MIPS.

Tom Lehmann, spoluzakladatel společnosti TurboHercules, napsal:

...Můžeme spustit přiměřeně velkou zátěž (800 MIPS s naším standardním balíčkem). Pokud je dotyčný stroj větší, můžeme s naším čtyřnásobným balíkem založeným na architektuře Nehalem dosáhnout 1600 MIPS a začátkem roku 2010 máme slíbený osmisměrný stroj založený na architektuře Nehalem EX, který by nás měl dostat na hranici 3200 MIPS. Cokoli většího se replikuje pomocí kolekce systémů.[7]

Hercules obecně svým výkonem na PC z roku 2010 překonává sálové počítače společnosti IBM z poloviny 90. let 20. století, které měly udávaný špičkový výkon okolo 29 MIPS. Při porovnání s výkonnějšími ale stále lacinými sálovými počítači IBM Multiprise 2000 a 3000 (také z 90. let 20. století), by Hercules na typickém x86 hardwaru odpovídal serveru střední výkonnosti. Při porovnání s libovolným sálovým počítačem IBM od 9672 Generace 1 by však Hercules obecně představoval systém nejnižší třídy. Pro porovnání – špičkové systémy IBM zEnterprise 196 z období po roce 2010 mohou poskytovat více než 52000 MIPS na stroj, a mají i významný výkonnostní náskok ve vstupně-výstupních operacích.[zdroj?] z/PDT při stejném počtu emulovaných procesorů Sys Z je asi třikrát rychlejší než Hercules.[zdroj?]

Je třeba zmínit, že existují jiné nefunkční atributy systému[které?] vedle výkonnosti,Šablona:Objasnit který jsou obvykle významné pro operátory sálových počítačů.

TurboHercules[editovat | editovat zdroj]

Roger Bowler založil v roce 2009 TurboHercules SAS se sídlem ve Francii, pro obchodní využití technologie Hercules. V červenci 2009 TurboHercules SAS požádal společnost IBM, aby pro jeho zákazníky licencovala z/OS pro použití na systémech prodávaných společností TurboHercules. IBM tento požadavek odmítla.[8] V březnu 2010 TurboHercules SAS podala stížnost regulátorům Evropské komise]], v níž tvrdila, že společnost IBM porušila antimonopolní pravidla EU údajným svázáním hardwaru mainframů s operačním systémem pro mainframy a EK zahájila předběžné vyšetřování.[9] V listopadu 2010 společnost TurboHercules ohlásila, že získala investici od Microsoft Corporation.[10] V září 2011 regulační orgány EU vyšetřování ukončily bez provedení jakékoli akce.[11]

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Hercules (emulator) na anglické Wikipedii.

  1. FAQ. EU: Hercules 390 Kapitola 6.1. 
  2. FAQ. GitHub: SDL Hercules 390 Kapitola 6.1. 
  3. Licenses by Name. [s.l.]: Open Source Initiative, 2022-09-16. Dostupné online. 
  4. Frequently-Asked Questions. EU: Hercules 390 Version 3 .
  5. Michigan Terminal System Archive [online]. [cit. 2022-12-10]. Dostupné v archivu pořízeném dne 2011-01-11. 
  6. MVS/380 project. [s.l.]: Sourceforge .
  7. Hercules goes commercial!. [s.l.]: Oracle Dostupné v archivu pořízeném dne 2016-10-10. 
  8. Exchange of letters between TurboHercules and IBM. [s.l.]: Turbo Hercules Dostupné v archivu pořízeném dne 2011-10-12. .
  9. Antitrust: Commission initiates formal investigations against IBM in two cases of suspected abuse of dominant market position. [s.l.]: European Commission, 2010-07-26. Dostupné online. .
  10. News Release. [s.l.]: TurboHercules, 2010-11-23. Dostupné v archivu pořízeném dne 2012-03-10. .
  11. Antitrust: Commission market tests IBM's commitments on mainframe maintenance and closes separate case into alleged unlawful tying. [s.l.]: EC, 2011-09-20. Dostupné online. .

Externí odkazy[editovat | editovat zdroj]