náhled|Implicitní přihlašovací obrazovka na VM/370 Vydání 6

VM neboli VM/CMS je rodina operačních systémů společnosti IBM, které realizují virtuální stroje na sálových počítačích řad IBM System/370, IBM System/390, zSeries, System z a na systémech s nimi kompatibilními, včetně emulátoru Hercules pro osobní počítače.

Návrh Srdcem architektury VM je hypervizor nazývaný zkráceně CP, VM-CP nebo někdy prostě VM. Běží na fyzickém hardwaru a vytváří prostředí pro virtuální stroje. VM-CP poskytuje plnou virtualizaci fyzického stroje – včetně všech vstupně/výstupních a jiných privilegovaných operací. Zajišťuje sdílení prostředků systémů včetně správy zařízení, odbavování, správy virtuální paměti a dalších úkolů tradičního operačního systému. VM poskytuje každému uživateli zvláštní virtuální stroj s vlastním adresním prostorem, virtuálními zařízeními, atd., na němž je možné spouštět libovolný software jako na fyzickém stroji. Na sálovém počítači s VM mohou běžet stovky nebo tisíce instancí virtuálních strojů. Hypervizor VM-CP je reimplementací CP-67 s názvem CP-370, který je zase reimplementací CP-40.

Na každém virtuálním stroji může běžet jiný hostovaný operační systém, např.

CMS (Conversational Monitor System původně Cambridge Monitor System CP/CMS). Jednoduchý jednouživatelský operační systém, který se používal nejčastěji. Jeho interaktivní prostředí je srovnatelné s prostředím jednouživatelského PC, včetně systému souborů, programovacích služeb, přístupu k zařízením, a zpracování příkazového řádku. (Zatímco dřívější verze CMS byly nelichotivě označovány za „CP/M na sálovém počítači“, je toto přirovnání anachronismem; autor CP/M Gary Kildall byl zkušeným uživatelem CMS.) GCS (Group Control System), který poskytuje omezenou simulaci MVS API. IBM původně poskytla GCS za účelem provozování VTAM bez servisního virtuálního stroje OS/VS1 a komunikační síťové aplikace pro VTAM (VCNA). Pod GCS také běžel RSCS V2. Některý z rozšířených operačních systémů společnosti IBM, například MVS a DOS/VSE rodiny, OS/VS1, TSS/370 nebo jiná vrstva samotného VM/370 (viz níže)) je možné zavést a spustit bez úprav. VM hypervizor považuje hostované operační systémy za aplikační programy se zvláštními oprávněními – brání jim v přímém používání privilegovaných instrukcí (které by umožnily aplikaci převzít řízení celého systému nebo jeho významné části), ale činnost privilegovaných instrukcí sám simuluje. Většina operačních systémů sálových počítačů normální aplikaci, které se snaží si přivlastnit privilegia operačního systému, ukončí. Hypervizor VM může simulovat několik typů konzolových terminálů pro hostovaný operační systém, jako je hardwarový řádkový terminál 3215, rodina grafických terminálů IBM 3270 nebo integrovaná konzole novějších strojů IBM System/390 a System Z. Další uživatelé mohou přistupovat k běžícím virtuálním strojům pomocí příkazu DIAL na přihlašovací obrazovce, který propojí jejich terminál s prvním dostupným emulovaným zařízením 3270 nebo prvním dostupným zařízením 2703, pokud uživatel zadal příkaz DIAL z terminálu realizovaného psacím strojem. Další kopie VM. Ve virtuálním stroji lze plně virtualizovat instance VM druhé úrovně. Tímto způsobem se provádí vývoj a testování systému VM (VM druhé úrovně může potenciálně implementovat jinou virtualizaci hardwaru). Tato technika byla použita při vývoji softwaru pro S/370, než byl k dispozici hardware S/370, a používala se při vývoj nového hardwaru v IBM. Literatura cituje praktické příklady virtualizace s pěti úrovněmi. Úrovně VM pod vrcholem jsou také považovány za aplikace ale sie zvláštními právy. Kopie mainframové verze systému AIX nebo Linux. V prostředí sálových počítačů se tyto operační systémy často provozují pod VM a zachází se s nimi jako s jinými hostovanými operačními systémy. (Mohou se také spustit jako 'nativní' operační systémy na holém hardwaru.) Krátkou dobu existovala také verze IX/370 a také verze S/370 a S/390 systému AIX (AIX/370 a AIX/ESA). Specializovaný VM subsystém. Na virtuálních strojích s VM-CP běží několik jiných systémů než CMS, které mohou uživatelům CMS poskytovat služby, jako např. spooling, meziprocesová komunikace, podpora specializovaných zařízení a sítě. Pracují v zákulisí a rozšiřují služby dostupné na CMS aniž by se přidávaly k řídicímu programu VM-CP. Díky tomyu, že běží v samostatných virtuálních strojích, mají stejnou ochranu datové bezpečnosti a spolehlivost jako jiní uživatelé VM. Jejich příklady jsou: RSCS (Remote Spooling and Communication Subsystem, alias VNET) – komunikační a přenosové prostředky mezi virtuálními počítači a jinými systémyCreasy, op. cit., p. 483 – role of RSCS. RACF (Resource Access Control Facility) – systém datové bezpečnosti Shared File System (SFS), který organizuje sdílené soubory v adresářovém stromě (servery jsou obvykle pojmenovány „VMSERVx“) VTAM (Virtual Telecommunications Access Method) – nástroj, který poskytuje podporu sítě SNA PVM (VM/Pass-Through Facility) – nástroj, který poskytuje vzdálený přístup k jiným VM systémům TCPIP, SMTP, FTPSERVE, PORTMAP, VMNFS – sada serviosních strojů, které poskytují VM/CMS síťovou komunikaci protokoly TCP/IP Db2 Server pro VM – databázový systém SQL, servery se často jmenují „SQLMACH“ a „SQLMSTR“ DIRMAINT – zjednodušený systém správy uživatelských adresářů (adresář je seznam všech účtů na systému, včetně konfigurace virtuálního hardwaru, uživateliských hesel a minidisků). MUMPS/VM – implementace databáze a programovacího jazyka MUMPS, které mohly běžet jako host na VM/370. MUMPS/VM byl představen v roce 1987 a vyvíjen do roku 1991. Uživatelem napsaný nebo upravený operační systém, jako je VP/CSS společnosti National CSS nebo VPS/VM Bostonské univerzity.

Verze

Existují následující verze:

Virtual Machine Facility/370 VM/370 vydaný v roce 1972 je reimplementací staršího operačního systému CP/CMS pro IBM System/370. VM/370 Basic System Extensions Program Product VM/BSE (BSEPP) je vylepšení VM/370, které přidává podporu pro více zařízení (např. jednotky DASD s pevnou blokovou architekturou typu 3370), vylepšení prostředí CMS (např. vylepšený editor), a některá vylepšení stability CP. VM/370 System Extensions Program ProductVM/SE (SEPP) je vylepšení VM/370, které obsahuje služby systému VM/BSE, několik oprav a nových vlastností. Virtual Machine/System Product VM/SP, dílčí úkol verze, nahrazuje VM/370, VM/BSE a VM/SE. Vydání 1 přidalo EXEC2 a XEDIT Systém Product Editor; Vydání 3 přidalo REXX; Vydání 6 přidalo sdílené systém souborů. Virtual Machine/System Product High Performance OptionVM/SP HPO přidává k VM/SP podporu dalších zařízení a funkčností, a na některých S/370 strojích umožňuje používat až 64 MB fyzické paměti. Tato verze byla určena pro uživatele, kteří používají několik S/370 hostů současně. Virtual Machine/Extended Architecture Migration Aid Smyslem VM/XA MA je usnadnit migraci z MVS/370 na MVS/XA tím, že oba mohou běžet současně na stejné sestavě procesorů. Virtual Machine/Extended Architecture System Facility VM/XA SF je vylepšení VM/XA MA s lepší funkčností a výkonností. Virtual Machine/Extended Architecture System Product VM/XA SP je vylepšení VM/XA SF s lepší funkčností a výkonností, nabízené jako náhrada za VM/SP HPO na strojích podporující S/370-XA. Obsahuje verzi CMS, které může běžet buď v režimu S/370 anebo v režimu S/370-XA. Virtual Machine/Enterprise Systems ArchitectureVM/ESA poskytuje služby systému VM/SP, VM/SP HPO a VM/XA SP. VM/ESA verze 1 může běžet v S/370, ESA/370 nebo ESA/390 režim; nepodporuje režim S/370 XA. Verze 2 pouze běží v ESA/390 režim. s/370-schopný verze systému VM/ESA byly skutečně jejich vlastní zvláštní verze z ESA/390 verze systému VM/ESA, protože verze pro S/370 jsou založeny na starším kódu VM/SP HPO, zatímco verze ESA/390 jsou založeny na novějším kódu VM/XA. z/VM z/VM je poslední stále široce používanou verzí, která je jedním z hlavních řešení plné virtualizace pro trh sálových počítačů. Poslední verzí, která mohla běžet v režimu ESA/390 byl z/VM 4.4; další verze poběží pouze v režimu z/Architecture.

CMS ve jméně znamená Conversational Monitor System, což je komponenta produktu, kterou je jednouživatelský operační systém pro virtuální stroj, který poskytuje konverzační sdílení času pod VM.

Rozhraní hypervizoru Společnost IBM poprvé použila termín hypervizor pro 360/65 a později jej používal pro obsluhu instrukcí DIAG na CP-67.

Instrukce Diagnose ('83'x–žádný mnemonic) je privilegovaná instrukce původně určená pro provádění „vestavěných diagnostických funkcí nebo jiných funkcí pro konkrétní model počítače.“ Později společnost IBM použila instrukce DIAG pro „komunikaci mezi virtuálním strojem a hypervizorem.“ Instrukce obsahuje dvě čtyřbitová čísla registrů označovaná Rx a Ry, které mohou „obsahovat adresu operandu v paměti nebo vracet kódy předávané rozhraní DIAGNOSE,“ a dvoubytový kód, „který CP používá pro určení co má funkce DIAGNOSE provádět.“ Používají se následujíc funkce:

Šestnáctkový kód Funkce 0000 Uložit rozšířený identifikační kód 0004 Zkontrolovat reálnou paměť 0008 Funkce virtuální konzole – provést CP příkaz 0018 Standardní vstupní/výstupní operace na zařízení s přímým přístupem 0020 Obecné vstupně/výstupní operace – provede libovolný platný řetězec CCW pro páskové nebo diskové zařízení 003C Aktualizuje adresář VM/370 0058 3270 rozhraní virtuální konzole – provádí celoobrazovkové vstupně/výstupní operace na terminálu IBM 3270 0060 Určí velikost úložiště virtuálního stroje 0068 Komunikační služby Virtual Machine Communication Facility (VMCF)

Zpočátku byl systém CMS schopen běžet na holém hardwaru jako skutečný operační systém (i když taková konfigurace nebyla obvyklá). Později jej bylo možné spustit pouze jako hostovaný systém pod VM, protože pro operace se systémem souborů a jiné služby VM využívá rozhraní hypervizoru pro VM-CP. Toto paravirtualizační rozhraní:

Poskytuje rychlý přístup k VM-CP s nižší režií než má plná simulace. Bylo původně vyvinuto jako výkonnostní vylepšení pro CP/CMS release 2.1, které bylo důležitým milníkem efektivity staršího CP. Používá nevirtualizované strojové instrukce závislé na modelu jako signál mezi CMS a CP: DIAG (diagnose).

Minidisky náhled|CMS startuje poté, co se přihlásil uživatel MAINT (správce systému) náhled|CMS editor na VM/370, editování COBOL program zdroj soubor

CMS a jiné operační systémy často mají mnohem menší požadavky na zařízení s přímým přístupem (DASD), než je velikost skutečných svazků. Z tohoto důvodu CP umožňuje instalace definovat virtuální disky libovolné velikosti až do kapacity zařízení. Pro CKD svazky musí být minidisky definovány v celých cylindrech. Minidisk má stejné atributy jako podkladový fyzický disk, ale obvykle je menší a začátek každého minidisku je namapován na válec nebo blok 0. K minidisku lze přistupovat pomocí stejného kanálového programu jako na fyzický disk. Minidisk se systémem souborů CMS se nazývá CMS minidisk, i když CMS není jediný systém, který jej může používat.

Je běžnou praxí definovat celý svazek minidisků pro použití takovými hostovanými operačními systémy jako je z/OS místo použití DEDICATE přiřadit svazek určitému virtuálnímu stroji. Navíc „plný-pack odkazy“ se často definují pro každý DASD v systému, a jsou vlastněné uživatelem MAINT. Používají se pro zálohování systému pomocí programu DASD Dump/Restore, který přesně zapíše celý obsah DASD na pásku (nebo na jiný DASD).

Shared File System náhled|Vyvolání překladače jazyka COBOL pro System/360 na VM/370 CMS, následované načtením a spuštěním programu Na nových verzích VM lze většinu systému nainstalovat na SFS, přičemž několik zbývajících minidisků je nezbytně nutných pro spuštění systému a patří serverům, které obhospodařují fond souborů. náhled|Příklad hostovaného operačního systému jiného než CMS, který běží pod VM/370: DOS/VS release 34. Systém DOS/VS se dotazuje operátora na jméno supervisora, aby pokračoval v zavádění systému