SVM | |
---|---|
Utvecklaren | IBM , NIIEVM |
OS-familjen | VM |
Typ av kärna | Virtuell maskin |
Licens | Proprietär |
stat | historisk |
Det virtuella maskinsystemet ( SVM ) är ett operativsystem för EU-datorn , en analog till IBM VM- systemet .
VM (VM, och dess tidiga version CP/CMS) är det första systemet där virtuell maskinteknik implementerades . Virtualisering i CBM var konsekvent och komplett, i synnerhet kunde en virtuell maskin köra en annan kopia av CBM-systemet och så vidare. Dessutom var att köra CBM på en virtuell CBM-maskin den rekommenderade metoden för att generera en ny version av systemet för installation. I synnerhet innebar detta att vilken riktig datorenhet som helst kunde representeras av en eller annan metod som en virtuell enhet på en virtuell maskin. Hittills har ingen annan implementering av virtuella maskiner denna egenskap.
Systemet med virtuella maskiner i det socialistiska lägret anpassades först i version 1 av Robotron- företaget (DDR), och sedan, från version 2, utvecklat av NIIEVM (Minsk). Tack vare NIIEVMs aktivitet ansågs SVM i Sovjetunionen som en av huvudkomponenterna i ES datorsystemprogramvara och blev sedan grunden för version 7 av ES OS , som erbjöds som ett standardalternativ för användning på ES datorsystem Ryad-3 och högre. Den mest utbredda i Sovjetunionen var versionerna av SVM 3 och 4. Version 5 släpptes redan under Sovjetunionens kollaps och det massiva övergivandet av användningen av ES-datorutrustning, och användes därför inte i stor utsträckning, och under namnet "SVM version 6" Minsk-specialister släppte ett paketprogram för VM, vilket ger maximal kompatibilitet med VM-applikationer.
Å andra sidan, av skäl som inte har någon rationell förklaring, har IBM aldrig uppmuntrat användningen av sitt VM-operativsystem, och VM har alltid positionerats av IBMs marknadsföring i en sekundär roll i förhållande till andra stordatoroperativsystem - MVS, OS och till och med DOS, mycket mindre tekniskt avancerad och användarvänlig. Troligtvis tillät den låga budgeten för utvecklingen av VM som ett initialt experimentellt projekt inte IBM:s ekonomiska ledning att erkänna det som likvärdigt med de system för vilka mycket mer pengar spenderades.
Arkitektoniskt bestod SVM av flera oberoende komponenter. Den centrala komponenten var den virtuella maskinövervakaren (VMM, IBMs namn är CP, Control Program), som kontrollerade hårdvaran på en riktig dator och implementerade en uppsättning virtuella maskiner med en given konfiguration. De återstående komponenterna var operativsystem eller systemoberoende program för virtuella maskiner som kördes under kontroll av MVM: undersystemet för dialogbearbetning (PDO), undersystemet för nätverksfilöverföring (NFT), abonnentstationens logiska växlingsundersystem (PLC), dumpanalysundersystem (PAD), filöverföring för fjärrkontrollundersystem (PDP), hårdvarukontrollundersystem (PKT), genererings- och underhållsverktyg (SSS).
PDO (Conversational Processing Subsystem, IBM-namn - CMS , Conversational Monitor System, tidigare Cambridge Monitor System; omvänd översättning till engelska - PTS, Programming and Testing System) var det huvudsakliga operativsystemet för den virtuella maskinen i CBM, där användarna arbetade. PDO försåg användaren med ett dialoggränssnitt, faktiskt, användarens arbete vid terminalen i PDO på en virtuell maskin liknade arbete på en persondator. Detta var ett mycket allvarligt steg framåt i jämförelse med de tidigare operativsystemen för ES-datorerna, vars dialogmöjligheter antingen saknades helt eller var mycket begränsade.
Delsystemen PSP, PLC, PAD, PDP, PKT, SGO var avsedda för systemunderhållsuppgifter och användes inte av applikationsprogrammerare och användare.
Dessutom var det på den virtuella CBM-maskinen möjligt att köra vilket ES-datoroperativsystem som helst som är utformat för att köras på riktig hårdvara (det så kallade gäst-OS) - ES OS, ES DOS, ES MOS, MVS, etc. Som en del av ES OS version 7, ett speciellt BOS-operativsystem utvecklades som funktionellt motsvarar version 6 (SVS) av EU, men utformat specifikt för att köras på den virtuella SVM-maskinen. BOS, till skillnad från de allra flesta andra ES-datorsystemverktyg, var en oberoende utveckling av sovjetiska programmerare, oberoende av IBM. Eftersom EU OS var ett batchsystem kunde PDO-användare överföra förberedda uppgiftspaket till det och få resultat med en virtuell stansare och en virtuell ADCP .
Virtual Machine Monitor var teoretiskt kapabel att stödja upp till 10 000 virtuella maskiner på ett enda riktigt system. I praktiken begränsades antalet samtidigt aktiva virtuella maskiner av datorns prestanda och kunde nå flera tiotal.
I EC Ryad-3 och högre datorer implementerades medlen för mikroprogramstöd för SVM.
SVM:s arkitektur gjorde det möjligt att på ett naturligt sätt organisera redovisningen av användningen av datortid, vilket var mycket viktigt för fleranvändarsystem som var dyra i drift. MVM-kommandot Q UERY T IME , tillgängligt för användaren av den virtuella maskinen, gjorde det möjligt att ta reda på aktuellt datum och tid, såväl som den totala mängden processortid för de verkliga och virtuella processorerna som används i den aktuella sessionen av den virtuella maskinen. Ett enkelt skript på REXX- språket var populärt , som, när man lämnade systemet, utfärdade ett sådant kommando, multiplicerade resultatet med kostnaden för systemets maskintid och informerade användaren om det totala beloppet som hans arbete kostade för organisationen datorn. För en programmerare som inte ockuperade processorn med intensiva beräkningar, utan utförde den vanliga utvecklingen och felsökningen av program, på EU-1066 var den typiska kostnaden för maskintid cirka 10 rubel per arbetsdag (det vill säga det var ungefär lika med lön). Resurskrävande program under drift skulle kunna använda storleksordningar mer processortid. Naturligtvis betalade inte programmerare i Sovjetunionen för maskintid ur egen ficka, men den här siffran visar att programmerares arbete med kodoptimering lönade sig mycket snabbt vid den tiden.
Förutom möjligheten att använda EU OS och BOS under kontroll av MVM, var själva PDO utformad på ett sådant sätt att det skulle göra det så enkelt som möjligt att överföra program från EU OS. Det var möjligt att ansluta diskar i EU OS-format till den virtuella PDO-maskinen och direkt starta startmodulerna för EU OS med ett speciellt OSRUN- kommando (med vissa begränsningar för de systemanrop som används). Dessutom kunde de flesta applikationer för EU OS helt enkelt omkompileras under PDO för att få riktiga PDO-körbara filer. PDO-systemanrop var maximalt kompatibla med EU OS, de flesta applikationsprogrammen för EU-datorerna skrevs på deras gemensamma delmängd och kunde köras både i EU OS (och MCS) miljön och i PDO-miljön.
För att säkerställa en effektiv användning av det virtuella minnessystemet var det tänkt att tilldela en del av adressutrymmet, på begäran av systemprogrammeraren, för de så kallade delade segmenten. Till exempel kan en textredigerare, kompilator eller stödbibliotek för programmeringsspråk laddas in i ett delat segment och på så sätt skulle alla användare som använder dem effektivt komma åt samma kopia i virtuellt minne, istället för att skapa en separat kopia för varje virtuell maskin.
Till skillnad från DOS ES, OS ES och MVS, som gav ett mycket krångligt och obekvämt filhanteringssystem för dagligt bruk (mer exakt, i deras terminologi, datamängder), implementerade PDO konceptet med så kallade mini-diskar med möjlighet att använda sitt eget filsystem. Minidisken var en virtuell diskenhet emulerad av en VMM. Minidisken kunde formateras i PDO-filsystemet, i vilket fall den innehöll en enda katalog med filer. Fil-ID:t bestod av filnamnet (upp till 8 tecken), filtillägg (upp till 8 tecken) och filläge (1 enhetsbokstav och 1 åtkomstlägessiffra). Komponenterna i namnet separerades med ett mellanslag, filläget kunde utelämnas helt eller så kunde bara enhetsbeteckningen anges. Till exempel är en fil med namnet PROFILE EXEC A1 en PDO-systemstartfil av EXEC -typen (på ett av skriptspråken) på huvudanvändarens minidisk A , med det vanliga åtkomstläget 1 .
Strukturen för PDO-filerna motsvarade strukturen för EU OS-datauppsättningarna (med undantag för de mest komplexa typerna av datauppsättningar), det vill säga varje fil var uppdelad i poster av ett visst format och längd. Det huvudsakliga textfilformatet i PDO var formatet F(80) , det vill säga bilden av en virtuell kortlek med hålkort med 80 kolumner .
Minidiskar kunde delas mellan flera virtuella maskiner, så minidiskar delades med systemprogram och användare fick tillgång till varandras data. Tillhandahåller lösenordsskydd för miniskivor för läsning och skrivning.
För att vara kompatibel med EU DOS, EU OS och MBC använde PDO främst den externa filassocieringsmekanismen som lånats från dessa system. Även om ett program i PDO kunde öppna en fil på en disk direkt med sitt namn, var det faktiskt bara ett fåtal systemprogram som filverktyg, en textredigerare etc. Ordnade på detta sätt Standardmekanismen för applikationsprogram var att associera en fil på en disk (eller enhet) med ett filnamn i programmet med hjälp av kommandot FI LEDEF utfärdat innan programmet körs (en analog till DD- satsen i JCL- språket för DOS, OS och MBC). Exempelvis innebar kommandot FI LEDEF SYSPRINT DISK TEST LISTING att systemutgången ( SYSPRINT ) för följande program skulle skrivas till en fil på PDO-minidisken med namnet TEST LISTING (och det implicita läget A1 ).
Trunkering och förkortningar fick användas i de flesta VMM-, PDO- och systemprogramkommandon, såväl som i vissa kommandooperander, för att underlätta interaktivt arbete i CBM. Ordet LÄSAR kan till exempel anges som en av förkortningarna LÄSAR , LÄS , LÄS , REA , RE , R , eller som förkortningen RDR . Mer frekvent använda kommandon och operander hade kortare trunkering, upp till en bokstav, mer sällan använda hade längre. I syntaxbeskrivningen var den obligatoriska delen av trunkeringen versal eller understruken, till exempel: R EADER | RDR .
Från och med CBM version 3 använde PDO en mycket avancerad X EDIT- textredigerare , som i synnerhet var helt kontrollerad av REXX-språket. Med hjälp av REXX-skript för XEDIT implementerades många komplexa system, som till exempel system för kollektiv versionskontroll av program. Därefter implementerades XEDIT-kloner (KEDIT, SEDIT, THE) i olika persondatoroperativsystem, men slog inte riktigt rot, eftersom XEDIT-ideologin till stor del var fokuserad på stordatorterminalens funktioner. THE (The Hessling Editor) distribueras för närvarande under GPL för Unix , z/OS , MS-DOS , OS/2 , Windows , QNX , Amiga , BeOS , Mac OS X-plattformar . Intressant nog distribueras z/OS-versionen av THE av IBM själv.
Som en del av SUB levererades program för att arbeta med e-post. Vanligtvis fungerade e-post mellan användare av en riktig dator (för äldre modeller av EC-datorer kan det röra sig om hundratals användare vid terminaler inom en radie av flera kilometer), men med hjälp av telekommunikation, som fortfarande var en kuriosa på den tiden, var olika maskiner kan anslutas till nätverk. Ett system för omedelbar överföring av korta meddelanden mellan användare implementerades också.
De viktigaste programmeringsverktygen för PDO var REXX- skriptspråk och tidigare EXEC och EXEC2 , assemblers , kompilatorer från PL/1 , Fortran , Cobol . Dessutom har många andra programmeringssystem implementerats för PDO, såsom: Pascal , C , Lisp , Prolog , REDUCE symbolic computing system , tekniskt språk för att utveckla systemprogramvara PLS (programmeringsspråk) etc.
Språktolken REXX ingick först i PDO i CBM version 3. REXX-språket blev sedan utbrett i operativsystemet OS/2 och implementerades även för många andra operativsystem. I CVM var populariteten för REXX bland användare mer begränsad än i OS/2, eftersom skriptspråket i tidigare versioner av PDO, EXEC2, gav ganska stora möjligheter, och behovet av att använda det mer komplexa REXX-språket uppstod mindre ofta, medan i OS/2 var det enda alternativet till REXX det extremt begränsade .bat /.cmd-filspråket.