Hercules (emulátor)
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čů.
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í verze | 3.13 (30. září 2017) |
Připravovaná verze | 4.0.0-rc0 (16. prosince 2016 | )
Operační systém | Multiplatformní |
Vyvíjeno v | C |
Typ softwaru | Emulátor |
Licence | Q Public License |
Web | www |
Některá data mohou pocházet z datové položky. |
Vývojář | Jay Maynard, Jan Jaeger, David "Fish" Trout, Greg Smith, Bernard van der Helm, Ivan Warren a další[2] |
---|---|
Aktuální verze | 4.7.0 (10. března 2024 | )
Operační systém | Linux Microsoft Windows macOS Solaris FreeBSD |
Vyvíjeno v | C |
Typ softwaru | emulátor a svobodný software |
Licence | Q Public License |
Web | sdl-hercules-390 |
Některá data mohou pocházet z datové položky. |
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
editovatEmulá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 multiprocesingem, 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
editovatHercules 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.
- PDOS/3X0 (Public Domain Operating System, verze pro sálové počítače)
Použití
editovatHercules může sloužit jako součást vývojového prostředí pro ověření, ž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 i bývalých operátorů a programátorů sálových počítačů i lidí bez předchozích zkušenosti, pro které je používání emulátoru Hercules a public domain operačních systémů IBM koníčkem nebo kteří je používají pro výukové účely.[zdroj?] Velká část dovedností získaných používáním klasických verzí operačních systémů sálových počítačů IBM je při přechodu na licencované IBM stroje s nejnovějšími verzemi stále relevantní.[zdroj?]
Díky tomu, že emulátor Hercules má otevřený zdrojový text, může kdokoli vytvořit upravenou verzi emulátoru. Příkladem je skupina vývojářů nezávislých na projektu Hercules, která 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, které jsou do určité míry binárně kompatibilní s 31bitovými (a od roku 2016 i 64bitovými) s pozdějšími verzemi operačních systémů (od roku 2018 jsou podporovány i 32bitové stroje).
Výkonnost
editovatJe obtížné přesně určit, jak výkon emulátoru Hercules odpovídá reálnému hardwaru sálových počítačů, ale výkonnostní charakteristiky jsou 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, kontrolovaných srovnání výkonu. 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ýkonnost. 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,[ujasnit] který jsou obvykle významné pro operátory sálových počítačů.
TurboHercules
editovatRoger 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
editovatReference
editovatV tomto článku byl použit překlad textu z článku Hercules (emulator) na anglické Wikipedii.
- ↑ FAQ. EU: Hercules 390 Kapitola 6.1.
- ↑ FAQ. GitHub: SDL Hercules 390 Kapitola 6.1.
- ↑ Licenses by Name. [s.l.]: Open Source Initiative, 2022-09-16. Dostupné online.
- ↑ Frequently-Asked Questions. EU: Hercules 390 Version 3.
- ↑ Michigan Terminal System Archive [online]. [cit. 2022-12-10]. Dostupné v archivu pořízeném dne 2011-01-11.
- ↑ MVS/380 project. [s.l.]: Sourceforge
- ↑ Hercules goes commercial!. [s.l.]: Oracle Dostupné v archivu pořízeném dne 2016-10-10.
- ↑ Exchange of letters between TurboHercules and IBM. [s.l.]: Turbo Hercules Dostupné v archivu pořízeném dne 2011-10-12. Archivováno 12. 10. 2011 na Wayback Machine..
- ↑ 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..
- ↑ News Release. [s.l.]: TurboHercules, 2010-11-23. Dostupné v archivu pořízeném dne 2012-03-10. Archivováno 10. 3. 2012 na Wayback Machine..
- ↑ 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- Obrázky, zvuky či videa k tématu Hercules (emulátor) na Wikimedia Commons
- Emulátor Hercules na Curlie
- Hercules, Son of Z's (review na Tech-newsy.com)
- CBT tape obsahuje kolekci operačních systémů IBM pro sálové počítače a další software
- Public domain softwarový archiv (obsahuje CD obraz Turnkey MVS)