Maszyna wirtualna (system operacyjny)
Deweloper | IBM |
---|---|
Rodzina OS | Rodzina VM |
Stan roboczy | Aktualny |
Model źródłowy | 1972–1986 Open source , 1977 – obecnie Zamknięte źródło |
Pierwsze wydanie | 1972 |
Najnowsze wydanie | IBM z/VM V7.2 / 16 września 2020 r |
Cel marketingowy | Komputery mainframe IBM |
Dostępne w | język angielski |
Platformy | System/370 , System/390 , zSeries , IBM zEnterprise System |
Licencja | 1972–1981 domena publiczna , 1976 – obecnie własność |
Oficjalna strona internetowa |
Historia systemów operacyjnych na komputerach mainframe IBM |
---|
VM (często: VM/CMS ) to rodzina systemów operacyjnych maszyn wirtualnych IBM używanych na komputerach mainframe IBM System/370 , System/390 , zSeries , System z i kompatybilnych systemach, w tym emulator Hercules dla komputerów osobistych.
Znane są następujące wersje:
- Virtual Machine Facility/370
- VM/370, wydany w 1972 roku, jest reimplementacją System/370 wcześniejszego systemu operacyjnego CP/CMS .
- VM/370 Basic System Extensions Program Product
- VM/BSE (BSEPP) to rozszerzenie VM/370, które dodaje obsługę większej liczby urządzeń (takich jak dyski DASD o stałej architekturze blokowej typu 3370), ulepszenia środowiska CMS (takie jak ulepszony edytor) i pewne ulepszenia stabilności CP.
- VM/370 System Extensions Program Produkt
- VM/SE (SEPP) jest rozszerzeniem VM/370, które obejmuje funkcje VM/BSE, a także kilka dodatkowych poprawek i funkcji.
- Maszyna wirtualna/produkt systemowy
- VM/SP, wersja przełomowa, zastępuje VM/370, VM/BSE i VM/SE. Wersja 1 dodała EXEC2 i XEDIT System Product Editor; Wydanie 3 dodało REXX ; Wersja 6 dodała współdzielony system plików.
- Wirtualna maszyna/produkt systemowy Opcja wysokiej wydajności
- VM/SP HPO dodaje dodatkową obsługę urządzeń i funkcjonalność do VM/SP oraz pozwala niektórym maszynom S/370, które mogą wykorzystać więcej niż 16 MB rzeczywistej pamięci masowej, do 64 MB. Ta wersja była przeznaczona dla użytkowników, którzy mieliby jednocześnie obsługiwać wielu gości S / 370.
- Pomoc w migracji maszyn wirtualnych/architektury rozszerzonej
- VM/XA MA ma na celu ułatwienie migracji z MVS/370 do MVS/XA poprzez umożliwienie obu równoczesnym działaniu na tym samym kompleksie procesorów.
- Virtual Machine/Extended Architecture System Facility
- VM/XA SF to ulepszona maszyna VM/XA MA o ulepszonej funkcjonalności i wydajności.
- Produkt systemu Virtual Machine/Extended Architecture
- VM/XA SF to ulepszona maszyna VM/XA MA o ulepszonej funkcjonalności i wydajności, oferowana jako zamiennik VM/SP HPO na maszynach obsługujących S/370-XA. Zawiera wersję CMS, która może działać w trybie S/370 lub S/370-XA.
- Architektura Virtual Machine/Enterprize Systems
- VM/ESA zapewnia funkcje VM/SP, VM/SP HPO i VM/XA SP. VM/ESA wersja 1 może działać w trybie S/370, ESA/370 lub ESA/390; nie obsługuje trybu S/370 XA. Wersja 2 działa tylko w trybie ESA/390. Wersje VM/ESA obsługujące S/370 były w rzeczywistości oddzielną wersją od wersji VM/ESA ESA/390, ponieważ wersje S/370 są oparte na starszej bazie kodu VM/SP HPO, a ESA/390 wersje są oparte na nowszej bazie kodu VM/XA.
- z/VM
- z/VM, ostatnia wersja nadal szeroko stosowana jako jedno z głównych rozwiązań pełnej wirtualizacji na rynku komputerów mainframe. [ potrzebne źródło ] z/VM 4.4 była ostatnią wersją, która mogła działać w trybie ESA/390; kolejne wersje działają tylko w trybie z/Architecture.
CMS w nazwie odnosi się do Conversational Monitor System, składnika produktu, który jest systemem operacyjnym dla jednego użytkownika, który działa na maszynie wirtualnej i zapewnia współdzielenie czasu konwersacji w VM.
Przegląd
Sercem architektury VM jest Program Sterujący lub hypervisor w skrócie CP , VM-CP a czasami niejednoznacznie VM . Działa na fizycznym sprzęcie i tworzy maszyny wirtualnej . VM-CP zapewnia pełną wirtualizację maszyny fizycznej — w tym wszystkie operacje we/wy i inne operacje uprzywilejowane. Wykonuje współdzielenie zasobów systemowych, w tym zarządzanie urządzeniami, wysyłanie, zarządzanie wirtualną pamięcią masową i inne tradycyjne zadania systemu operacyjnego. Każdy użytkownik VM otrzymuje oddzielną maszynę wirtualną z własną przestrzenią adresową , urządzeniami wirtualnymi itp., na której można uruchomić dowolne oprogramowanie, które można uruchomić na maszynie autonomicznej. Dany komputer mainframe maszyny wirtualnej zwykle obsługuje setki lub tysiące instancji maszyn wirtualnych. VM-CP rozpoczął życie jako CP-370, reimplementacja CP-67 , która sama w sobie jest reimplementacją CP-40 .
Na każdej maszynie wirtualnej działa inny system operacyjny, system operacyjny gościa . To może być:
- CMS ( Conversational Monitor System , przemianowany z Cambridge Monitor System of CP/CMS ). Większość maszyn wirtualnych obsługuje CMS, lekki system operacyjny dla jednego użytkownika. Jego interaktywne środowisko jest porównywalne z komputerem PC dla jednego użytkownika, w tym system plików, usługi programistyczne, dostęp do urządzeń i przetwarzanie w wierszu poleceń. (Podczas gdy wcześniejsza wersja CMS była niemiłosiernie opisywana jako „ CP/M na komputerze typu mainframe”, porównanie to jest anachronizmem; autor CP/M, Gary Kildall , był doświadczonym użytkownikiem CMS.)
- GCS ( Group Control System ), który zapewnia ograniczoną symulację API MVS. IBM pierwotnie dostarczył GCS w celu uruchomienia VTAM bez usługi maszyny wirtualnej OS/VS1 i VTAM Communications Network Application (VCNA). RSCS V2 działał również pod GCS.
- Główny system operacyjny. Główne systemy operacyjne IBM (tj. rodziny MVS , DOS/VSE lub TSS/370 ) można ładować i uruchamiać bez modyfikacji. Hypervisor VM traktuje systemy operacyjne gościa jako programy aplikacyjne z wyjątkowymi uprawnieniami – uniemożliwia im bezpośrednie korzystanie z uprzywilejowanych instrukcji (takich, które pozwoliłyby aplikacjom przejąć cały system lub jego znaczną część), ale symuluje uprzywilejowane instrukcje w ich imieniu. Większość systemów operacyjnych typu mainframe kończy normalną aplikację, która próbuje uzurpować sobie uprawnienia systemu operacyjnego. Hiperwizor maszyny wirtualnej może symulować kilka typów terminali konsoli dla systemu operacyjnego gościa, takich jak liniowy tryb wydruku 3215, graficzny 3270 oraz zintegrowaną konsolę na nowszych komputerach System/390 i System Z. Inni użytkownicy mogą następnie uzyskać dostęp do uruchomionych maszyn wirtualnych za pomocą polecenia DIAL na ekranie logowania, co połączy ich terminal z pierwszym dostępnym emulowanym urządzeniem 3270 lub pierwszym dostępnym urządzeniem 2703, jeśli użytkownik wybiera numer z terminala maszyny do pisania.
- Kolejna kopia VM. Instancja maszyny wirtualnej drugiego poziomu może zostać w pełni zwirtualizowana wewnątrz maszyny wirtualnej. W ten sposób odbywa się rozwój i testowanie maszyny wirtualnej (maszyna wirtualna drugiego poziomu może potencjalnie zaimplementować inną wirtualizację sprzętu). Ta technika była używana do tworzenia oprogramowania S/370, zanim dostępny był sprzęt S/370, i nadal odgrywa rolę w rozwoju nowego sprzętu w IBM. W literaturze można znaleźć praktyczne przykłady wirtualizacji na pięciu poziomach . Poziomy maszyn wirtualnych poniżej szczytu są również traktowane jako aplikacje, ale z wyjątkowymi uprawnieniami.
- Kopia wersji mainframe systemu AIX lub Linux . W środowisku komputerów mainframe te systemy operacyjne często działają pod maszyną wirtualną i są obsługiwane jak inne systemy operacyjne gościa. (Mogą również działać jako „natywne” systemy operacyjne na samym sprzęcie). Istniały również krótkotrwałe wersje IX / 370, a także wersje S / 370 i S / 390 systemu AIX (AIX / 370 i AIX / ESA) .
-
Wyspecjalizowany podsystem maszyny wirtualnej. Kilka systemów innych niż CMS działa na maszynach wirtualnych VM-CP, zapewniając użytkownikom CMS usługi, takie jak buforowanie, komunikację międzyprocesową, obsługę specjalistycznych urządzeń i tworzenie sieci. Działają za kulisami, rozszerzając usługi dostępne dla CMS bez dodawania do programu sterującego VM-CP. Działając na oddzielnych maszynach wirtualnych, otrzymują oni takie same zabezpieczenia i ochronę niezawodności, jak inni użytkownicy maszyn wirtualnych. Przykłady obejmują:
- RSCS (Remote Spooling and Communication Subsystem, inaczej VNET) – narzędzia do komunikacji i przesyłania informacji między maszynami wirtualnymi a innymi systemami
- RACF (Resource Access Control Facility) — system bezpieczeństwa
- Shared File System (SFS), który organizuje udostępnione pliki w drzewie katalogów (serwery są powszechnie nazywane „VMSERVx”
- VTAM (Virtual Telecommunications Access Method) – narzędzie zapewniające obsługę sieci Systems Network Architecture
- PVM (VM/Pass-Through Facility) – narzędzie zapewniające zdalny dostęp do innych systemów VM
- TCPIP, SMTP, FTPSERVE, PORTMAP, VMFS – zestaw maszyn usługowych zapewniających połączenie sieciowe TCP/IP z VM/CMS
- Db2 Server for VM - system bazy danych SQL, serwery często noszą nazwy podobne do „SQLMACH” i „SQLMSTR”
- DIRMAINT — uproszczony system zarządzania katalogami użytkowników (katalog to lista wszystkich kont w systemie, w tym konfiguracja sprzętu wirtualnego, hasła użytkowników i minidyski).
- MUMPS/VM — implementacja bazy danych MUMPS i języka programowania, która może działać jako gość na VM/370. ŚWINKA/VM została wprowadzona w 1987 r. i wycofana w 1991 r.
- System operacyjny napisany lub zmodyfikowany przez użytkownika , taki jak CSS firmy National CSS lub VPS/VM Uniwersytetu Bostońskiego .
Interfejs hiperwizora
IBM ukuł termin hypervisor dla 360/65 , a później użył go dla obsługi DIAG CP-67.
Instrukcja Diagnose ('83'x - brak mnemonika) to uprzywilejowana instrukcja pierwotnie przeznaczona przez IBM do wykonywania „wbudowanych funkcji diagnostycznych lub innych funkcji zależnych od modelu”. IBM zmienił przeznaczenie DIAG na „komunikację między maszyną wirtualną a CP”. Instrukcja zawiera dwa czterobitowe numery rejestrów, zwane Rx i Ry, które mogą „zawierać adresy przechowywania operandów lub kody powrotu przekazywane do interfejsu DIAGNOSE” oraz dwubajtowy kod, którego CP używa do określenia, jaką funkcję DIAGNOSE wykonać. " Poniżej wymieniono kilka dostępnych funkcji diagnostycznych.
Kod szesnastkowy | Funkcjonować |
---|---|
0000 | Przechowuj rozszerzony kod identyfikacyjny |
0004 | Sprawdź rzeczywistą pamięć masową |
0008 | Funkcja konsoli wirtualnej — Wykonaj polecenie CP |
0018 | Standardowe wejścia/wyjścia DASD |
0020 | Ogólne we/wy — wykonaj dowolny prawidłowy łańcuch CCW na taśmie lub urządzeniu dyskowym |
003C | Zaktualizuj katalog VM/370 |
0058 | Interfejs konsoli wirtualnej 3270 — wykonywanie pełnoekranowych operacji we/wy na terminalu IBM 3270 |
0060 | Określ rozmiar magazynu maszyny wirtualnej |
0068 | Narzędzie komunikacji z maszyną wirtualną ( VMCF ) |
CMS wykorzystanie DIAGNOSTYKI
Kiedyś CMS mógł działać na gołej maszynie jako prawdziwy system operacyjny (chociaż taka konfiguracja byłaby nietypowa). Teraz działa tylko jako system-gość pod maszyną wirtualną. Dzieje się tak, ponieważ CMS opiera się na hiperwizora do VM-CP, aby wykonywać operacje na systemie plików i żądać innych usług VM. Ten parawirtualizacji :
- Zapewnia szybką ścieżkę do VM-CP, aby uniknąć kosztów związanych z pełną symulacją.
- Po raz pierwszy został opracowany jako ulepszenie wydajności CP/CMS w wersji 2.1, ważny kamień milowy w wydajności CP.
- Wykorzystuje niezwirtualizowaną, zależną od modelu instrukcję maszynową jako sygnał między CMS a CP: DIAG (diagnostyka).
Minidyski
CMS i inne systemy operacyjne często mają wymagania DASD znacznie mniejsze niż rozmiary rzeczywistych woluminów. Z tego powodu CP umożliwia instalacji zdefiniowanie dysków wirtualnych o dowolnej wielkości do pojemności urządzenia. W przypadku woluminów CKD minidysk musi być zdefiniowany w pełnych cylindrach. Minidysk ma te same atrybuty, co bazowy dysk rzeczywisty, z tą różnicą, że jest zwykle mniejszy, a początek każdego minidysku jest odwzorowany na cylinder lub blok 0. Dostęp do minidysku można uzyskać za pomocą tych samych programów kanałów, co w przypadku dysku rzeczywistego .
Minidysk, który został zainicjowany z systemem plików CMS, jest określany jako minidysk CMS, chociaż CMS nie jest jedynym systemem, który może z nich korzystać.
Powszechną praktyką jest definiowanie minidysków pełnych woluminów do użytku przez systemy operacyjne gościa, takie jak z/OS, zamiast używania funkcji DEDICATE
do przypisywania woluminu do określonej maszyny wirtualnej. Ponadto „łącza pełnego pakietu” są często definiowane dla każdego DASD w systemie i należą do identyfikatora użytkownika MAINT. Służą one do tworzenia kopii zapasowych systemu za pomocą programu DASD Dump/Restore, w którym cała zawartość DASD jest dokładnie zapisywana na taśmie (lub innym DASD).
VM/SP Release 6 wprowadził Shared File System, który znacznie poprawił możliwości przechowywania plików CMS. System plików minidisk CMS w ogóle nie obsługuje katalogów (folderów), jednak SFS tak. SFS wprowadza również bardziej szczegółowe zabezpieczenia. W przypadku minidysków CMS system można skonfigurować tak, aby zezwalał lub odmawiał użytkownikom dostępu tylko do odczytu lub dostępu do odczytu i zapisu do dysku, ale pojedyncze pliki nie mogą mieć takich samych zabezpieczeń. SFS łagodzi to i znacznie poprawia wydajność.
Usługa SFS jest dostarczana przez usługi maszyn wirtualnych. W nowoczesnym systemie VM zwykle wymagane są trzy: VMSERVR, „maszyna do odzyskiwania”, która w rzeczywistości nie obsługuje żadnych plików; VMSERVS, serwer puli plików VMSYS; oraz VMSERVU, serwer puli plików VMSYSU (użytkowników). Maszyny serwera puli plików posiadają kilka minidysków, zwykle w tym dysk A CMS (adres urządzenia wirtualnego 191, zawierający pliki konfiguracyjne puli plików), dysk kontrolny, dysk dziennika i dowolną liczbę dysków z danymi, które faktycznie przechowują pliki użytkownika.
W przypadku nowoczesnych wersji maszyn wirtualnych większość systemu można zainstalować na SFS, a kilka pozostałych minidysków to te, które są absolutnie niezbędne do uruchomienia systemu, oraz te, które są własnością serwerów puli plików.
Jeśli konto użytkownika jest skonfigurowane do używania tylko SFS (i nie posiada żadnych minidysków), dysk A użytkownika będzie miał postać PULA PLIKÓW:ID UŻYTKOWNIKA.
a wszelkie kolejne katalogi utworzone przez użytkownika będą miały postać FILEPOOL:USERID.DIR1.DIR2.DIR3
, gdzie równoważna ścieżka pliku systemu UNIX to /dir1/dir2/dir3
. Katalogi SFS mogą mieć znacznie bardziej szczegółową kontrolę dostępu w porównaniu z minidyskami (które, jak wspomniano powyżej, często mogą mieć tylko hasło odczytu, hasło zapisu i hasło wielokrotnego zapisu). Katalogi SFS rozwiązują również problemy, które mogą wystąpić, gdy dwóch użytkowników zapisuje jednocześnie na tym samym minidysku CMS, co może spowodować uszkodzenie dysku (ponieważ maszyna wirtualna CMS wykonująca zapisy może nie wiedzieć, że inna instancja CMS również zapisuje na minidysku) .
Serwery puli plików obsługują również blisko spokrewniony system plików: Byte File System. BFS służy do przechowywania plików w systemie plików w stylu UNIX. Jego głównym zastosowaniem jest środowisko VM OpenExtensions POSIX dla CMS. Same maszyny wirtualne użytkowników CMS komunikują się z maszynami wirtualnymi serwera SFS poprzez mechanizm IUCV.
Historia
Wczesna historia VM jest opisana w artykułach CP/CMS i Historia CP/CMS . VM/370 jest ponowną implementacją CP/CMS i został udostępniony w 1972 roku jako część ogłoszenia IBM System/370 Advanced Function (które dodało pamięci wirtualnej i systemy operacyjne do serii System/370 ). Wczesne wersje VM do VM / 370 Release 6 były kontynuowane jako open source do 1981 r., A dziś są uważane za należące do domeny publicznej . Ta polityka zakończyła się w 1977 roku wraz z płatnymi aktualizacjami VM/SE i VM/BSE, aw 1980 roku z VM/System Product (VM/SP). Jednak IBM przez wiele lat nadal dostarczał aktualizacje w formie źródłowej dla istniejącego kodu, chociaż aktualizacje do wszystkich oprócz bezpłatnej bazy wymagały licencji. Podobnie jak w przypadku CP-67, uprzywilejowane instrukcje w maszynie wirtualnej powodują przerwanie programu, a CP symulował zachowanie uprzywilejowanej instrukcji.
VM pozostała ważną platformą w IBM, używaną do tworzenia systemów operacyjnych i użytkowania z podziałem czasu; ale dla klientów pozostał „innym systemem operacyjnym” IBM. Rodziny OS i DOS pozostały strategicznymi produktami IBM, a klientów nie zachęcano do uruchamiania maszyn wirtualnych. Ci, którzy to zrobili, nawiązali bliskie relacje robocze, kontynuując model wsparcia społeczności wczesnych użytkowników CP/CMS. W międzyczasie system walczył z wewnętrznymi sporami politycznymi w IBM o to, jakie zasoby powinny być dostępne dla projektu, w porównaniu z innymi wysiłkami IBM. Podstawowy problem z systemem został zauważony na poziomie sprzedaży terenowej IBM: VM/CMS wyraźnie zmniejszył ilość sprzętu potrzebnego do obsługi określonej liczby użytkowników korzystających z podziału czasu. W końcu IBM zajmował się sprzedażą systemów komputerowych.
Melinda Varian przedstawia ten fascynujący cytat, ilustrujący nieoczekiwany sukces VM:
Prognozy marketingowe dla VM/370 przewidywały, że nie więcej niż jeden 168 kiedykolwiek uruchomi VM przez cały okres użytkowania produktu. W rzeczywistości pierwsze 168 dostarczonych klientowi działało tylko z CP i CMS. Dziesięć lat później dziesięć procent dużych procesorów wysyłanych z Poughkeepsie miało obsługiwać VM, podobnie jak bardzo znaczna część maszyn średniej klasy, które zostały zbudowane w Endicott. Zanim minie piętnaście lat, będzie więcej licencji VM niż licencji MVS.
Wersja PC DOS , która obsługuje CMS na XT/370 (a później na AT/370) nosi nazwę VM/PC. VM/PC 1.1 był oparty na VM/SP w wersji 3. Kiedy IBM wprowadził karty procesorowe P/370 i P/390, komputer PC mógł teraz obsługiwać pełne systemy VM, w tym VM/370, VM/SP, VM/XA i VM/ESA (karty te były w pełni kompatybilne z komputerami mainframe S/370 i S/390 i mogły obsługiwać dowolny system operacyjny S/370 z epoki 31-bitowej, np. MVS/ESA, VSE/ESA).
Oprócz podstawowych wersji VM/SP IBM wprowadził również VM/SP HPO (opcja o wysokiej wydajności). Ten dodatek (który jest instalowany w podstawowej wersji VM/SP) poprawił kilka kluczowych funkcji systemu, w tym umożliwił użycie ponad 16 MB pamięci (RAM) w obsługiwanych modelach (takich jak IBM 4381). Po zainstalowaniu VM/SP HPO nowy limit wynosił 64 MB; jednak pojedynczy użytkownik (lub maszyna wirtualna) nie mógł wykorzystać więcej niż 16 MB. Ulepszono również funkcje systemu plików buforowych, umożliwiając utworzenie 9900 zbiorów buforowych na użytkownika, zamiast 9900 dla całego systemu. Udoskonalono również architekturę systemu plików buforowych, każdy plik buforowy miał teraz powiązany z nim unikalny identyfikator użytkownika, a bloki kontrolne czytnika plików były teraz przechowywane w pamięci wirtualnej. System można również skonfigurować tak, aby odmawiał niektórym użytkownikom dostępu do obiektu wektora (za pomocą wpisów w katalogu użytkowników).
Wersje VM od VM/SP Release 1 obsługiwane systemy wieloprocesorowe. Wersje VM System/370 (takie jak VM/SP i VM/SP HPO) obsługiwały maksymalnie dwa procesory, przy czym system działał w trybie UP (jednoprocesorowym), trybie MP (wieloprocesorowym) lub trybie AP (procesor dołączony) . Tryb AP jest taki sam jak tryb MP, z tą różnicą, że drugi procesor nie ma możliwości wejścia/wyjścia. Wersje System/370-XA VM (takie jak VM/XA) obsługiwały więcej. Wersje System/390 (takie jak VM/ESA) prawie całkowicie zniosły ten limit, a niektóre nowoczesne systemy z/VM mogą mieć nawet 80 procesorów. Limit na maszynę wirtualną dla zdefiniowanych procesorów wynosi 64.
Gdy IBM wprowadził rozszerzoną architekturę System/370 w modelu 3081 , klienci stanęli przed koniecznością uruchomienia produkcyjnego systemu MVS/370 podczas testowania MVS/XA na tej samej maszynie. Rozwiązaniem IBM był VM/XA Migration Aid, który wykorzystywał nową instrukcję Start Interpretive Execution (SIE) do uruchamiania maszyny wirtualnej. SIE automatycznie obsługiwał niektóre uprzywilejowane instrukcje i zwracał się do CP w przypadkach, z którymi nie mógł sobie poradzić. Menedżer zasobów procesora / systemu (PR / SM) późniejszego 3090 również korzystał z SIE. Było kilka produktów VM/XA, zanim ostatecznie zostały wyparte przez VM/ESA i z/VM.
Oprócz sieci RSCS IBM zapewnił użytkownikom również sieć VTAM . ACF/VTAM dla VM był w pełni kompatybilny z ACF/VTAM na MVS i VSE. Podobnie jak RSCS, VTAM na maszynie wirtualnej działał pod wyspecjalizowanym systemem operacyjnym GCS. Jednak maszyna wirtualna obsługiwała również sieci TCP/IP. Pod koniec lat 80. IBM stworzył stos TCP/IP dla VM/SP i VM/XA. Stos obsługiwał sieci IPv4 i różne systemy interfejsów sieciowych (takie jak łącza między kanałami między komputerami mainframe lub wyspecjalizowany komputer IBM RT, który przekazywałby ruch do sieci Token Ring lub Ethernet ) . Stos zapewniał wsparcie dla Telnet z prostych emulatorów terminala w trybie liniowym lub emulatorów zgodnych z VT100 lub odpowiednich emulatorów terminala IBM 3270. Stos zapewniał również serwer FTP. IBM wyprodukował również opcjonalny serwer NFS dla VM; wczesne wersje były raczej prymitywne, ale współczesne wersje są znacznie bardziej zaawansowane.
Istniała również czwarta opcja sieciowa, znana jako VM/Pass-Through Facility (lub częściej nazywana PVM). PVM, podobnie jak VTAM, pozwalał na połączenia ze zdalnymi systemami VM/CMS, a także innymi systemami IBM. Jeśli dwa węzły VM/CMS były połączone ze sobą za pośrednictwem łącza kanał-kanał lub łącza bisync (prawdopodobnie przy użyciu modemu telefonicznego lub linii dzierżawionej), użytkownik mógł zdalnie połączyć się z dowolnym systemem, wprowadzając „DIAL PVM” na ekranie logowania VM , a następnie wpisując nazwę węzła systemowego (lub wybierając go z listy dostępnych węzłów). Alternatywnie użytkownik korzystający z CMS może skorzystać z programu PASSTHRU, który został zainstalowany wraz z PVM, umożliwiając szybki dostęp do zdalnych systemów bez konieczności wylogowywania się z sesji użytkownika. PVM obsługiwał również dostęp do systemów innych niż VM, wykorzystując technikę emulacji 3x74. Późniejsze wersje PVM zawierały również komponent, który mógł akceptować połączenia z a SNA .
VM był także podstawą systemu operacyjnego BITNET , ponieważ system RSCS dostępny dla VM zapewniał prostą sieć, łatwą do wdrożenia i nieco niezawodną. Witryny maszyn wirtualnych były ze sobą połączone za pomocą maszyny wirtualnej RSCS w każdym systemie maszyn wirtualnych komunikujących się ze sobą, a użytkownicy mogli wysyłać i odbierać wiadomości, pliki i zadania wsadowe za pośrednictwem RSCS. Polecenie „NOTE” wykorzystywało XEDIT do wyświetlenia okna dialogowego umożliwiającego utworzenie wiadomości e-mail, z której użytkownik może ją wysłać. Jeśli użytkownik podał adres w postaci user w node
, plik e-mail zostałby dostarczony do RSCS, który następnie dostarczyłby go użytkownikowi docelowemu w systemie docelowym. Jeśli witryna ma zainstalowany protokół TCP/IP, RSCS może współpracować z maszyną usługową SMTP w celu dostarczania notatek (e-maili) do systemów zdalnych, jak również ich odbierania. Jeśli użytkownik określił użytkownika pod adresem jakaś.nazwa.hosta
, program NOTE dostarczy wiadomość e-mail do maszyny obsługującej SMTP, która następnie przekieruje ją do miejsca docelowego w Internecie.
Rola maszyny wirtualnej zmieniła się w IBM, gdy ewolucja sprzętu doprowadziła do znaczących zmian w architekturze procesora. Kompatybilność wsteczna pozostała kamieniem węgielnym rodziny komputerów mainframe IBM , która nadal korzysta z podstawowego zestawu instrukcji wprowadzonego w oryginalnym System / 360 ; ale potrzeba wydajnego wykorzystania 64-bitowej serii zSeries sprawiła, że podejście VM stało się znacznie bardziej atrakcyjne. VM był również używany w centrach danych konwertujących z DOS/VSE na MVS i jest przydatny podczas uruchamiania systemów mainframe AIX i Linux , platformy, które miały zyskiwać na znaczeniu. Obecna z/VM wreszcie zyskała uznanie w IBM, na które użytkownicy maszyn wirtualnych od dawna uważali, że na to zasługuje. W niektórych ośrodkach z/VM w jednym systemie działają tysiące użytkowników maszyn wirtualnych jednocześnie. z/VM został wydany po raz pierwszy w październiku 2000 roku i nadal jest aktywnie używany i rozwijany.
IBM i inne firmy zaoferowały wiele aplikacji i narzędzi działających pod maszyną wirtualną. Przykłady obejmują RAMIS , FOCUS , SPSS , NOMAD , DB2 , REXX , RACF i OfficeVision . Obecna oferta maszyn wirtualnych obejmuje całą gamę aplikacji mainframe, w tym serwerów HTTP , menedżerów baz danych, narzędzi analitycznych, pakietów inżynierskich i systemów finansowych.
Komendy KP
Począwszy od wersji 6, program sterujący VM/370 zawiera szereg poleceń dla zwykłych użytkowników, związanych z definiowaniem i kontrolowaniem maszyny wirtualnej użytkownika. Części polecenia pisane małymi literami są opcjonalne
Komenda | Opis |
---|---|
#CP | Pozwala użytkownikowi wydać polecenie CP ze środowiska poleceń lub dowolnej innej maszyny wirtualnej po naciśnięciu klawisza break (domyślnie PA1) |
ZATRZYMAJ | Ustawia zatrzymanie adresu w celu zatrzymania maszyny wirtualnej w określonej instrukcji |
UWAGA | Powoduje przerwanie uwagi , umożliwiając CP przejęcie kontroli w środowisku dowodzenia |
Zaczynać | Kontynuuj lub wznawiaj wykonywanie maszyny wirtualnej użytkownika, opcjonalnie pod określonym adresem |
Zmiana | Zmień atrybuty zbioru buforowego lub zbiorów. Można na przykład zmienić klasę wyjściową lub nazwę pliku albo ustawić atrybuty specyficzne dla drukarki |
Zamknąć | Zamyka otwarty plik drukarki, dziurkacza, czytnika lub konsoli i zwalnia go do systemu buforowania |
PARA | Podłącz wirtualny adapter kanał-kanał (CTCA) do innego. Służy również do podłączania symulowanych kart QDIO Ethernet do przełącznika wirtualnego. |
CP | Wykonaj polecenie CP w środowisku CMS |
Definiować | Zmień bieżącą konfigurację maszyny wirtualnej. Dodaj urządzenia wirtualne lub zmień dostępny rozmiar pamięci |
Odłączyć | Usuń urządzenie wirtualne lub kanał z bieżącej konfiguracji |
WYBIERZ | Połącz terminal na ekranie logowania z symulowanym terminalem 3270 lub maszyną do pisania na wielodostępowej maszynie wirtualnej, na której jesteś zalogowany |
DISConn | Odłącz terminal, pozwalając maszynie wirtualnej na dalsze działanie |
Wyświetlacz | Wyświetl pamięć maszyny wirtualnej lub rejestry (wirtualnego) sprzętu |
WYSYPISKO | Wydrukuj zrzut migawki bieżącej maszyny wirtualnej na wirtualnej drukarce w buforze |
ECHO | Ustaw maszynę wirtualną na echo wpisanych wierszy |
Zewnętrzny | Spowoduj zewnętrzne przerwanie dla maszyny wirtualnej |
Wskazać | Wyświetl bieżące obciążenie systemu lub wykorzystanie zasobów |
Ipl | IPL (rozruch) systemu operacyjnego na maszynie wirtualnej |
POŁĄCZYĆ | Podłącz urządzenie z innej maszyny wirtualnej, jeśli definicja tej maszyny umożliwia udostępnianie |
ŁADUJVFCB | Określ bufor kontroli formularzy (FCB) dla drukarki wirtualnej |
WYLOGUJ WYLOGUJ |
Zakończ wykonywanie bieżącej maszyny wirtualnej i odłącz się od systemu |
Zaloguj Zaloguj się |
Zaloguj się do systemu |
Wiadomość MSG |
Wyślij jednowierszową wiadomość do operatora systemu lub innego użytkownika |
Nie gotowy | Powoduje, że urządzenie wirtualne wydaje się niegotowe |
Zamówienie | Zmień kolejność zamkniętych zbiorów buforowych według identyfikatora lub klasy |
Oczyszczać | Usuń zamknięte zbiory bufora dla urządzenia według klasy, identyfikatora m lub WSZYSTKICH |
Zapytanie | Wyświetl informacje o stanie maszyny wirtualnej, wiadomość dnia lub liczbę lub nazwy zalogowanych użytkowników |
GOTOWY | Spowoduj przerwanie pracy urządzenia dla urządzenia |
Wniosek | Spowoduj przerwanie na konsoli wirtualnej |
RESETOWANIE | Wyczyść wszystkie oczekujące przerwania dla urządzenia |
Przewijanie do tyłu | Przewiń prawdziwą (nie wirtualną) jednostkę taśmy magnetycznej |
USTAWIĆ | Ustaw różne atrybuty maszyny wirtualnej, w tym komunikaty lub klawisze funkcyjne terminala |
Spać | Umieść maszynę wirtualną w stanie uśpienia na czas nieokreślony lub na określony czas |
SMS g | Wyślij specjalną wiadomość w jednym wierszu do innej maszyny wirtualnej (zwykle używana do kontrolowania działania maszyny wirtualnej; często używana z RSCS) |
Szpula | Ustaw opcje buforowanego urządzenia wirtualnego (drukarki, czytnika lub dziurkacza) |
Sklep | Zmień zawartość rejestrów lub pamięci swojej maszyny wirtualnej |
System | Zresetuj lub uruchom ponownie maszynę wirtualną lub wyczyść pamięć |
Etykietka | Ustaw znacznik skojarzony z urządzeniem buforowym lub zbiorem. Tag jest zwykle używany przez podsystem komunikacji Remote Spooling Communications Subystem (RSCS) maszyny wirtualnej do identyfikowania miejsca docelowego pliku |
Terminal | Ustaw charakterystykę swojego terminala |
Namierzać | Rozpocznij lub zatrzymaj śledzenie określonych działań maszyny wirtualnej |
Przenosić | Przenieś zbiór buforowy do lub od innego użytkownika |
VMDUMP | Zrzuć swoją maszynę wirtualną w formacie możliwym do odczytania przez program Interactive Problem Control System (IPCS). |
Rozszerzenia OpenEdition
Począwszy od VM/ESA w wersji 2, IBM wprowadził płatną opcjonalną funkcję OpenEdition for VM/ESA Shell and Utilities Feature , która zapewnia zgodność z POSIX dla CMS. Cechą wyróżniającą była powłoka UNIX dla CMS. Kompilator C dla tego środowiska UNIX jest dostarczany przez C/370 lub C for VM/ESA. Ani system plików CMS, ani standardowy współdzielony system plików VM nie obsługują plików i ścieżek w stylu UNIX; zamiast tego używany jest bajtowy system plików. Po utworzeniu zakresu BFS w puli plików SFS użytkownik może go zamontować za pomocą OPENVM MOUNT /../VMBFS:nazwaserweraplików:nazwapuliplików/ścieżka/do/montowania/punkt
. Użytkownik musi również zamontować główny system plików, używając OPENVM MOUNT /../VMBFS:VMSYS:ROOT/ /
, powłokę można następnie uruchomić za pomocą OPENVM SHELL
. W przeciwieństwie do zwykłego SFS, dostęp do systemów plików BFS jest kontrolowany przez uprawnienia POSIX (za pomocą chmod i chown ).
Począwszy od z/VM w wersji 3, IBM zintegrował OpenEdition z z/VM i zmienił jego nazwę na OpenExtensions. OpenEdition i OpenExtensions zapewniają CMS zgodność z POSIX.2. Programy skompilowane do działania w powłoce OpenExtensions są przechowywane w tym samym formacie, co standardowe moduły wykonywalne CMS. Edytory wizualne, takie jak vi , są niedostępne, ponieważ terminale 3270 nie obsługują. Użytkownicy mogą używać ed lub XEDIT zamiast vi.
maskotka VM
We wczesnych latach 80. grupa VM w SHARE (grupa użytkowników IBM) poszukiwała maskotki lub logo do przyjęcia przez społeczność. Było to po części odpowiedzią na to, że użytkownicy IBM MVS wybrali indyka jako maskotkę (wybraną, zgodnie z legendą, przez MVS Performance Group we wczesnych latach MVS, kiedy jego wydajność była drażliwym tematem). W 1983 roku pluszowy miś stał się de facto VM maskotka na SHARE 60, kiedy naklejki pluszowego misia zostały przymocowane do plakietek z imionami „przytulniejszych oldtimerów”, aby oznaczyć je dla nowicjuszy jako „przyjazne, jeśli się do nich zbliży”. Niedźwiedzie były hitem i wkrótce pojawiły się szeroko. Niedźwiedzie zostały przyznane induktorom „Zakonu Rycerzy VM”, osobom, które wniosły „pożyteczny wkład” w społeczność.
Krytyka
Podczas gdy VM był stosunkowo lekki (w porównaniu do swoich odpowiedników, takich jak MVS), VM był nieco niestabilny na początku. Utrzymanie systemu VM/370 przez ponad tydzień uznano za nie lada wyczyn. Użytkownicy skrytykowali również system plików CMS, zwracając uwagę, że inne systemy operacyjne w połowie lat 80. miały katalogi, dowiązania symboliczne i inne kluczowe funkcje; CMS nie miał żadnego z nich aż do 1988 roku, kiedy ukazała się wersja 6 VM/SP, która wprowadziła współdzielony system plików i złagodziła te problemy.
Niektórzy użytkownicy zauważyli również, że VM OpenEdition było nieco „niepotrzebne”.
Notatki
Zobacz też
Linki zewnętrzne
Źródła maszyn wirtualnych
-
Bob DuCharme, Podręcznik systemów operacyjnych, część 5: VM/CMS – dość szczegółowy przewodnik użytkownika po VM/CMS -
EC Hendricks i TC Hartmann, „Ewolucja podsystemu maszyny wirtualnej”, IBM Systems Journal , tom. 18, s. 111–142 (1979) – projekt i wdrożenie RSCS -
IBM Corporation, IBM Virtual Machine Facility/370 Wprowadzenie , GC20-1800, (1972) – oryginalna instrukcja
Podstawowe źródła CP/CMS
-
RJ Creasy, „ Pochodzenie systemu podziału czasu VM/370 ”, IBM Journal of Research & Development , tom. 25, nr 5 (wrzesień 1981), s. 483–90, PDF ― spojrzenie na historię CP/CMS i VM autorstwa kierownika projektu CP-40 , także autora CTSS -
EW Pugh, LR Johnson i John H. Palmer, systemy IBM 360 i wczesne 370, MIT Press, Cambridge MA i Londyn, ISBN 0-262-16123-0 ― obszerne (819 s. ) omówienie oferty IBM w tym okresie; ograniczone omówienie CP/CMS w tak ostatecznej pracy jest wymowne -
Melinda Varian, VM i społeczność VM, przeszłość, teraźniejszość i przyszłość , SHARE 89 Sesje 9059–61, 1997; ― znakomite źródło historii CP/CMS i VM
Dodatkowe źródła CP/CMS
-
RJ Adair, RU Bayles, LW Comeau i RJ Creasy, A Virtual Machine System for the 360/40, IBM Corporation, Cambridge Scientific Center Report No. 320‐2007 (maj 1966) — przełomowy artykuł opisujący implementację koncepcji maszyny wirtualnej, z opisami dostosowanego CSC S / 360-40 i projektu CP-40 -
International Business Machines Corporation, CP-67/CMS , Program 360D-05.2.005, IBM Program Information Department (czerwiec 1969) — podręcznik IBM -
RA Meyer i LH Seawright, „System podziału czasu maszyny wirtualnej”, IBM Systems Journal, tom. 9, nr 3, s. 199–218 (wrzesień 1970) ― opisuje system CP-67/CMS, nakreślając funkcje i zastosowania - RP Parmelee, TI Peterson, CC Tillman i DJ Hatfield, „Koncepcje pamięci wirtualnej i maszyn wirtualnych”, IBM Systems Journal, tom. 11, nr 2 (czerwiec 1972)
Źródła CP/CMS w tle
- FJ Corbató i in., Kompatybilny system podziału czasu, Przewodnik programisty, MIT Press, 1963
- FJ Corbató, M. Merwin-Daggett i RC Daley, "Eksperymentalny system podziału czasu", Proc. Spring Joint Computer Conference (AFIPS) 21, s. 335–44 (1962) — opis CTSS
- FJ Corbató i VA Vyssotsky, „Wprowadzenie i przegląd systemu MULTICS”, Proc. Jesienna wspólna konferencja komputerowa (AFIPS) 27, s. 185–96 (1965)
- PJ Denning, „Pamięć wirtualna”, Computing Surveys , tom. 2, s. 153–89 (1970)
-
JB Dennis, „Segmentacja i projektowanie wieloprogramowych systemów komputerowych”, JACM tom. 12, s. 589–602 (1965) ― wymagania dotyczące pamięci wirtualnej dla Project MAC, przeznaczonej dla GE 645 - CAR Hoare i RH Perrott, red., Techniki systemów operacyjnych , Academic Press, Inc., Nowy Jork (1972)
-
T. Kilburn, DBG Edwards, MJ Lanigan i FH Sumner, „One-Level Storage System”, IRE Trans. Elektron. Komputery EC-11, s. 223–35 (1962) ― Manchester/Ferranti Atlas -
RA Nelson, „Mapping Devices and the M44 Data Processing System”, Research Report RC 1303 , IBM Thomas J. Watson Research Center (1964) — o IBM M44/44X - RP Parmelee, TI Peterson, CC Tillman i DJ Hatfield, „Koncepcje pamięci wirtualnej i maszyn wirtualnych”, IBM Systems Journal , tom. 11, s. 99–130 (1972)
Dodatkowe zasoby CP/CMS on-line
- febcm.club.fr — Oś czasu technologii informacyjnej , 1964–74
- www.multicians.org — krótki esej Toma Van Vlecka The IBM 360/67 and CP/CMS
- Krótka historia maszyn wirtualnych IBM autorstwa Normana Hardy'ego
- krótki opis „Blaauw Box” Normana Hardy'ego
Inne zasoby
- Publikacja IBM Redbooks — podręcznik z/VM
- IBM: portal z/VM
- IBM: podręczniki z/VM
- Dokumentacja VM/PC na temat oszczędzania bitów
→ pochodzenie >> silny wpływ > pewien wpływ/pierwszeństwo | ||
CTSS | ||
> IBM M44/44X | ||
>> CP-40/CMS → CP[-67]/CMS | → VM/370 → Wersje VM/SE → Wersje VM/SP → Wersje VM/XA → VM/ESA → z/VM | |
→ VP/CSS | ||
> TSS/360 | ||
> TSO dla MVT → dla OS/VS2 → dla MVS → ... → dla z/OS | ||
>> MULTICS i większość innych platform współdzielenia czasu |