SVM | |
---|---|
Vývojář | IBM , NIIEVM |
rodina OS | VM |
Typ jádra | Virtuální stroj |
Licence | Proprietární |
Stát | historický |
Systém virtuálních strojů ( SVM ) je operační systém pro počítač EU , obdoba systému IBM VM .
VM (VM a jeho raná verze CP / CMS) je prvním systémem, ve kterém byla implementována technologie virtuálních strojů . Virtualizace v CBM byla konzistentní a úplná, zejména virtuální stroj mohl provozovat další kopii systému CBM a tak dále. Kromě toho bylo spuštění CBM na virtuálním počítači CBM doporučenou metodou pro generování nové verze systému pro instalaci. Konkrétně to znamenalo, že jakékoli skutečné počítačové zařízení mohlo být reprezentováno tou či onou metodou jako virtuální zařízení na virtuálním stroji. Tuto vlastnost zatím žádná jiná implementace virtuálních strojů nemá.
Systém virtuálních strojů v socialistickém táboře byl nejprve ve verzi 1 adaptován podnikem Robotron (NDR) a poté od verze 2 vyvinut společností NIIEVM (Minsk). Díky aktivitě NIIEVM byl SVM v SSSR považován za jednu z hlavních součástí softwaru počítačového systému ES a následně se stal základem pro verzi 7 ES OS , která byla nabízena jako standardní možnost pro použití na ES. počítačové systémy Ryad-3 a vyšší. Nejrozšířenější v SSSR byly verze SVM 3 a 4. Verze 5 byla vydána již při rozpadu SSSR a masivním opuštění používání ES výpočetní techniky, a proto nebyla široce používána a pod názvem „SVM Verze 6" specialisté z Minsku vydali balíček programů pro VM, který poskytuje maximální kompatibilitu s aplikacemi VM.
Na druhou stranu, z důvodů, které nemají žádné racionální vysvětlení, IBM nikdy nepodporovala používání svého operačního systému VM a VM byl marketingem IBM vždy postaven do druhotné role ve vztahu k jiným sálovým operačním systémům – MVS, OS a dokonce i DOS, mnohem méně technologicky vyspělý a uživatelsky přívětivý. Nízký rozpočet na vývoj VM jako počátečního experimentálního projektu s největší pravděpodobností neumožnil finančnímu managementu IBM uznat, že je rovnocenný systémům, za které bylo vynaloženo mnohem více peněz.
Architektonicky se SVM skládal z několika nezávislých komponent. Centrální komponentou byl monitor virtuálního stroje (VMM, IBM se jmenuje CP, Control Program), který řídil hardware skutečného počítače a implementoval sadu virtuálních strojů s danou konfigurací. Zbývajícími součástmi byly operační systémy nebo na systému nezávislé programy virtuálních strojů běžící pod kontrolou MVM: subsystém zpracování dialogů (PDO), subsystém síťového přenosu souborů (NFT), subsystém logického přepínání účastnických stanic (PLC), subsystém analýzy výpisů (PAD), subsystém dálkového řízení přenosu souborů (PDP), subsystém hardwarového řízení (PKT), nástroje pro generování a údržbu (SSS).
PDO (Conversational Processing Subsystem, název IBM - CMS , Conversational Monitor System, dříve Cambridge Monitor System; zpětný překlad do angličtiny - PTS, Programming and Testing System) byl hlavním operačním systémem virtuálního stroje v CBM, ve kterém uživatelé pracovali. PDO poskytlo uživateli dialogové rozhraní, ve skutečnosti se práce uživatele na terminálu v PDO na virtuálním stroji podobala práci na osobním počítači. Ve srovnání s dřívějšími operačními systémy počítačů ES, jejichž možnosti dialogu buď zcela chyběly, nebo byly velmi omezené, to byl velmi vážný krok vpřed.
Subsystémy PSP, PLC, PAD, PDP, PKT, SGO byly určeny pro úlohy údržby systému a nebyly využívány aplikačními programátory a uživateli.
Na virtuálním stroji CBM bylo navíc možné provozovat jakýkoli operační systém ES počítače určený pro běh na reálném hardwaru (tzv. hostující OS) - ES OS, ES DOS, ES MOS, MVS atd. V rámci tzv. ES OS verze 7 byl vyvinut speciální operační systém BOS, který je funkčně ekvivalentní verzi 6 (SVS) EU, ale je navržen speciálně pro provoz na virtuálním stroji SVM. BOS, na rozdíl od naprosté většiny ostatních nástrojů počítačového systému ES, byl nezávislý vývoj sovětských programátorů, nezávislý na IBM. Vzhledem k tomu, že operační systém EU byl dávkový systém, uživatelé PDO do něj mohli přenášet připravené balíčky úloh a získávat výsledky pomocí virtuálního děrovače a virtuálního ADCP .
Virtual Machine Monitor byl teoreticky schopen podporovat až 10 000 virtuálních strojů na jediném reálném systému. V praxi byl počet současně aktivních virtuálních strojů limitován výkonem počítače a mohl dosáhnout několika desítek.
V počítačích EC Ryad-3 a vyšších byly implementovány prostředky mikroprogramové podpory pro SVM.
Architektura SVM umožňovala přirozeně organizovat účtování využití počítačového času, což bylo velmi důležité pro víceuživatelské systémy, jejichž provoz byl nákladný. Příkaz MVM Q UERY T IME , dostupný uživateli virtuálního stroje, umožnil zjistit aktuální datum a čas a také celkovou dobu procesorového času skutečných a virtuálních procesorů použitých v aktuální relaci virtuální stroj. Oblíbený byl jednoduchý skript v jazyce REXX , který při výstupu ze systému vydal takový příkaz, získaný výsledek vynásobil cenou strojového času systému a informoval uživatele o celkové částce, kterou jeho práce stojí organizaci provozující počítač. Pro programátora, který nezaměstnával procesor intenzivními výpočty, ale prováděl běžný vývoj a ladění programů, byly na EU-1066 typické náklady na strojový čas asi 10 rublů za pracovní den (tedy přibližně rovna mzdy). Programy náročné na zdroje by během provozu mohly spotřebovat řádově více času procesoru. Programátoři v SSSR samozřejmě neplatili strojový čas z vlastní kapsy, ale tento údaj ukazuje, že práce programátorů při optimalizaci kódu se tehdy velmi rychle vyplatila.
Kromě možnosti využití EU OS a BOS pod kontrolou MVM bylo samotné PDO navrženo tak, aby co nejvíce usnadnilo přenos programů z EU OS. K virtuálnímu stroji PDO bylo možné připojit disky ve formátu EU OS a speciálním příkazem OSRUN (s určitými omezeními na použitá systémová volání) přímo spouštět zaváděcí moduly EU OS. Navíc většinu aplikací pro OS EU bylo možné jednoduše překompilovat pod CHOP a získat tak skutečné spustitelné soubory CHOP. Systémová volání PDO byla maximálně kompatibilní s OS EU, většina aplikačních programů pro počítače EU byla napsána na jejich společné podmnožině a bylo možné je spouštět jak v prostředí EU OS (a MCS), tak v prostředí PDO.
Pro zajištění efektivního využití systému virtuální paměti se počítalo s alokací části adresního prostoru na žádost systémového programátora pro tzv. sdílené segmenty. Například textový editor, kompilátor nebo knihovna podporující programovací jazyk by mohly být načteny do sdíleného segmentu, a tak by všichni uživatelé, kteří je používají, efektivně přistupovali ke stejné kopii ve virtuální paměti, namísto vytváření samostatné kopie pro každý virtuální stroj.
Na rozdíl od DOS ES, OS ES a MVS, které poskytovaly velmi těžkopádný a nepohodlný systém správy souborů pro každodenní použití (přesněji řečeno v jejich terminologii datové sady), PDO implementovalo koncept tzv. minidisků s možností využití svůj vlastní souborový systém. Minidisk bylo virtuální diskové zařízení emulované VMM. Minidisk mohl být naformátován v souborovém systému PDO, v takovém případě obsahoval jediný adresář souborů. ID souboru sestávalo z názvu souboru (až 8 znaků), přípony (až 8 znaků) a režimu souboru (1 písmeno jednotky a 1 číslice režimu přístupu). Komponenty názvu byly odděleny mezerou, režim souboru mohl být zcela vynechán nebo bylo možné zadat pouze písmeno jednotky. Například soubor s názvem PROFILE EXEC A1 je spouštěcí soubor systému PDO typu EXEC (v jednom ze skriptovacích jazyků) na hlavním uživatelském minidisku A s obvyklým přístupovým režimem 1 .
Struktura souborů PDO odpovídala struktuře datových sad EU OS (s výjimkou nejsložitějších typů datových sad), to znamená, že každý soubor byl rozdělen na záznamy určitého formátu a délky. Hlavním formátem textového souboru v PDO byl formát F(80) , tedy obrázek virtuálního balíčku děrných štítků s 80 sloupci .
Minidisky bylo možné sdílet mezi několika virtuálními stroji, takže minidisky byly sdíleny se systémovými programy a uživatelé měli přístup ke svým datům. Poskytovaná ochrana heslem pro minidisky pro čtení a zápis.
Aby bylo kompatibilní s EU DOS, EU OS a MBC, PDO využívalo především externí mechanismus asociace souborů vypůjčený z těchto systémů. Přestože program v PDO mohl otevřít soubor na disku přímo svým jménem, ve skutečnosti bylo takto uspořádáno jen několik systémových programů jako souborové utility, textový editor atd. Standardním mechanismem pro aplikační programy bylo přidružit soubor na disku (nebo zařízení) s názvem souboru v programu pomocí příkazu FI LEDEF vydaného před spuštěním programu (obdoba příkazu DD v jazyce JCL pro DOS, OS a MBC). Například příkaz FI LEDEF SYSPRINT DISK TEST LISTING znamenal, že systémový výstup ( SYSPRINT ) následujících programů by měl být zapsán do souboru na minidisku PDO s názvem TEST LISTING (a předpokládaným režimem A1 ).
Zkrácení a zkratky bylo povoleno používat ve většině příkazů VMM, PDO a systémových programů, stejně jako v některých příkazových operandech, pro pohodlí interaktivní práce v CBM. Například slovo READER lze zadat jako jednu ze zkratek READER , READE , READ , REA , RE , R nebo jako zkratku RDR . Častěji používané příkazy a operandy měly kratší zkrácení, do jednoho písmene, méně používané měly delší. V popisu syntaxe byla povinná část zkrácení velká nebo podtržená, například: R EADER | RDR .
Počínaje verzí CBM 3 používal PDO velmi pokročilý textový editor X EDIT , který byl zejména plně ovládán jazykem REXX. Pomocí REXX skriptů pro XEDIT bylo implementováno mnoho složitých systémů, jako jsou například systémy pro hromadnou správu verzí programů. Následně byly klony XEDIT (KEDIT, SEDIT, THE) implementovány v různých operačních systémech osobních počítačů, ale ve skutečnosti se neujaly, protože ideologie XEDIT byla z velké části zaměřena na vlastnosti terminálu sálových počítačů. THE (The Hessling Editor) je v současné době distribuován pod licencí GPL pro platformy Unix , z/OS , MS-DOS , OS/2 , Windows , QNX , Amiga , BeOS , Mac OS X. Zajímavé je, že verzi THE z/OS distribuuje samotná IBM.
V rámci PDO byly dodány programy pro práci s elektronickou poštou. Obvykle e-mail fungoval mezi uživateli jednoho skutečného počítače (u starších modelů EC počítačů to mohly být stovky uživatelů na terminálech v okruhu několika kilometrů), ale pomocí telekomunikací, které byly v té době ještě kuriozitou, různé stroje mohou být propojeny sítí. Byl také implementován systém pro okamžitý přenos krátkých zpráv mezi uživateli.
Hlavními programovacími nástroji pro PDO byly skriptovací jazyky REXX a dřívější EXEC a EXEC2 , assemblery , kompilátory z PL/1 , Fortran , Cobol . Pro PDO bylo implementováno také mnoho dalších programovacích systémů, jako jsou: Pascal , C , Lisp , Prolog , symbolický výpočetní systém REDUCE , technologický jazyk pro vývoj systémového softwaru PLS (programovací jazyk) atd.
Jazykový interpret REXX byl poprvé zahrnut do PDO ve verzi CBM 3. Jazyk REXX se následně rozšířil v operačním systému OS/2 a byl implementován i pro mnoho dalších operačních systémů. V CVM byla popularita REXX mezi uživateli omezenější než v OS/2, protože skriptovací jazyk předchozích verzí PDO, EXEC2, poskytoval poměrně dostatek příležitostí a potřeba používat složitější jazyk REXX vznikala méně často, zatímco v OS/2 byla jedinou alternativou k REXX extrémně omezený jazyk souborů .bat /.cmd.