Wiceprezes/CSS - VP/CSS

Wiceprezes/CSS
Deweloper IBM / Krajowy CSS
Stan pracy Historyczny
Pierwsze wydanie 1968 ; 53 lata temu ( 1968 )
Platformy IBM System/360-67 , System/370
Poprzedzony CP/CMS

VP/CSS był systemem operacyjnym z podziałem czasu opracowanym przez National CSS . Rozpoczął życie w 1968 roku jako kopia IBM CP/CMS , który w tamtym czasie był rozprowadzany wśród klientów IBM bezpłatnie, w postaci kodu źródłowego, bez wsparcia, jako część IBM Type-III Library . Dzięki szeroko zakrojonemu rozwojowi wewnętrznemu, w czymś, co dziś można by nazwać widelcem oprogramowania , National CSS skierowała VP/CSS w innym kierunku niż CP/CMS . Chociaż oba systemy miały w końcu dzielić wiele możliwości, ich techniczne implementacje różniły się pod względem merytorycznym.

VP/CSS działał na sprzęcie kompatybilnym z wtyczką IBM i IBM, należącym do NCSS (i kilku klientów z licencjami lokalnymi, w tym Bank of America i Standard Oil of California ). Po początkowym okresie działania na platformie IBM System/360-67 używanej przez CP/CMS , VP/CSS został przeniesiony do serii System/370 , co stało się możliwe, gdy IBM dodał możliwości pamięci wirtualnej do serii S/370 w 1972 roku.

VP/CSS wyróżniał się obsługą bardzo dużej liczby interaktywnych użytkowników na maszynę w porównaniu z innymi systemami operacyjnymi IBM mainframe. Czynniki techniczne, operacyjne i handlowe odegrały rolę w uczynieniu z National CSS opłacalnym biznesem usługowym.

Architektura

VP/CSS podzielił podstawową architekturę i koncepcje CP/CMS , które były rewolucyjne jak na tamte czasy. Program sterujący (o nazwie CP w CP/CMS , VP w VP/CSS) tworzył wiele niezależnych maszyn wirtualnych (VM), implementując pełną wirtualizację podstawowego sprzętu – co oznacza, że ​​każdy użytkownik korzystający ze współdzielenia czasu otrzymał prywatną maszynę wirtualną. Każdy wydawał się być kompletnym, samodzielnym komputerem, zdolnym do uruchamiania dowolnego oprogramowania, które można uruchomić na samej maszynie , w tym innych systemów operacyjnych. (Ta koncepcja była pionierem w systemie badawczym IBM CP-40 w pierwszej wersji CP/CMS .)

Ten projekt był odejściem od innych monolitycznych systemów operacyjnych IBM. Odizolowanie użytkowników od siebie poprawiło stabilność systemu: błąd w oprogramowaniu jednego użytkownika nie mógł spowodować awarii maszyny wirtualnej innego użytkownika ani podstawowego programu sterującego. Takie podejście sprawiło, że CP/CMS był lepszym wyborem do komercyjnego podziału czasu, a tym samym stanowił mocną podstawę dla National CSS, ponieważ otworzył nowe możliwości w tym, co miało stać się ważną nową branżą.

Każda maszyna wirtualna stworzona przez VP działała z prostym, przeznaczonym dla jednego użytkownika systemem operacyjnym o nazwie CSS, wywodzącym się z Cambridge Monitor System firmy IBM . CSS umożliwiał użytkownikom uruchamianie programów, manipulowanie systemem plików i zarządzanie urządzeniami wirtualnymi.

Ponieważ VP i CSS rozpoczęły życie odpowiednio jako CP i CMS, bardzo przypominały te systemy, szczególnie we wczesnych latach. Ciągły rozwój i wprowadzanie nowych funkcji zarówno w VP/CSS, jak iw maszynie wirtualnej IBM doprowadziły z czasem do znacznych różnic; ale systemy zachowały oczywiste podobieństwo rodzinne.

Decyzja IBM o dodaniu funkcji wirtualizacji i pamięci wirtualnej do S/370 odzwierciedla sukces podejścia maszyn wirtualnych do podziału czasu. Pewną zasługę tej spóźnionej decyzji przypisuje się świadomości IBM o komercyjnym sukcesie National CSS .

Ulepszenia NCSS

W 1968 roku założyciele National CSS zauważyli, że system operacyjny CP/CMS będzie dobrą podstawą dla biznesu z podziałem czasu – ze względu na zalety techniczne systemu, jego zdolność do współdzielenia zasobów mainframe między wieloma interaktywnymi użytkownikami oraz jego dostępność w formularz kodu źródłowego bez żadnych kosztów. Inna firma, Interactive Data Corporation , doszła do tego samego wniosku. Każda firma odciągnęła kluczowy personel techniczny CP/CMS z CSC, MIT i Union Carbide .

National CSS szybko odkryła jednak, że początkowa wydajność CP/CMS nie była wystarczająca do utrzymania dochodowych operacji – dosłownie sprzedaż każdej dostępnej minuty czasu interaktywnego zapłaciłaby tylko za 50 000 USD miesięcznie dzierżawy sprzętu. Awaria projektu technicznego zaczęła poprawiać wydajność; doprowadziło to do szeregu fundamentalnych ulepszeń i wkrótce umożliwiło firmie zarabianie pieniędzy. W ten sposób rozpoczęły się długie prace nad reimplementacją, które przez około piętnaście lat zajmowały duży zespół programistów. Pod koniec swojego istnienia VP/CSS oddalił się daleko od swoich korzeni CP/CMS i mógł pochwalić się zaskakującą gamą funkcji, z których niektóre nawet dzisiaj można by uznać za całkiem nowoczesne.

Kluczowe ulepszenia oryginalnego systemu CP/CMS obejmowały zmiany w algorytmie dyspozytorskim i systemie przywoławczym. Pamięć wirtualna była wówczas oczywiście nową koncepcją, a technologia translacji adresów IBM System/360-67 umożliwiła różne podejścia techniczne. Ostatecznie algorytm migracji stron VP/CSS i dyspozytor trzech kolejek stały się dobrze znane, a niektórzy pracownicy NCSS ostatecznie dołączyli do Centrum Badawczego IBM Thomasa J. Watsona, aby pracować nad technologiami VM.

Kolejnym obszarem poprawy przepustowości była wydajność systemu operacyjnego CSS dla jednego użytkownika. Jedną z ważnych zmian było zastąpienie słów poleceń kanału (CCW) i innych kosztownych symulowanych instrukcji czymś w rodzaju tego, co dzisiaj nazywa się wywołaniami BIOS-u . Symulowanie złożonej architektury I/O S/360 poprzez wirtualizację było niesamowitym wyczynem – wykonanym w najbardziej złożonym rdzeniu CP, w procedurze zwanej „CCWTRANS”, ponieważ operacje I/O były uwięzione w każdej maszynie wirtualnej. Jednak ogromnie tańsze okazało się wykonywanie bezpośrednich wywołań hiperwizora dla określonych funkcji, zamiast symulowania działania niskopoziomowych poleceń we/wy. W VP/CSS dokonano tego przy użyciu parawirtualizacji za pomocą niezwirtualizowanej instrukcji DIAG (diagnoza). Ta sama technika została wykorzystana przez IBM w CP/CMS w wersji 3.1 i przeniesiona do VM/370. (Nie jest jasne, które implementacje pojawiły się jako pierwsze – czy też zostały wymyślone niezależnie.)

Wczesne wysiłki techniczne National CSS szybko ugruntowały VP/CSS jako komercyjnie opłacalną wersję CP/CMS. VP/CSS cieszył się opinią znacznie lepszej wydajności niż reimplementacja IBM CP/CMS, VM/370 – która z kolei miała znaczną przewagę wydajnościową nad „preferowanym” rozwiązaniem IBM do współdzielenia czasu, TSO. Niestety, trudno dziś znaleźć udokumentowane statystyki dotyczące wydajności okresu. Istnieje jednak kilka punktów danych, które wspierają takie twierdzenia.

  • Odnośnie wydajności VM/CMS w stosunku do OS/TSO:
  1. Liczne dokumenty dotyczące maszyn wirtualnych, takie jak słynny artykuł Variana, przytaczają „przewagę wydajności CP nad TSO”.
  2. Z argumentów strukturalnych wynika, że ​​CMS pod VM powinien konsekwentnie przewyższać OSP pod OS. VM został zaprojektowany jako system z podziałem czasu i miał znaczną przewagę techniczną w uruchamianiu interaktywnych aplikacji.
  3. OS/VS miał w tym okresie dobrze znane problemy z wydajnością. (Grupa ds. wydajności MVS słynnie przyjęła indyka jako maskotkę systemu operacyjnego).
  4. CP/CMS rozpoczął się z dobrymi wynikami względnymi; a następnie nastąpiła szeroka gama ulepszeń wydajności.
  • Odnośnie wydajności VP/CSS względem VM/CMS:
  1. NCSS miał silną motywację komercyjną do obsługi jak największej liczby użytkowników, czego nie ma w IBM.
  2. NCSS udało się sprzedać duże instalacje licencyjne VP/CSS firmom takim jak Bank of America i Standard Oil of California do użytku z podziałem czasu – pomimo oczywistych problemów, z jakimi musieliby się zmierzyć tak duzi klienci IBM, działając wbrew mainstreamowi IBM.

Uważa się, że następujące względne wyniki są dokładne, chociaż udokumentowane źródła pozostają do odnalezienia:

  • CP-67 na S/360-67 w Lincoln Laboratory : w stanie obsługiwać 15 użytkowników CMS
  • OS/VS2-TSO na S/370-168: możliwość obsługi 35-50 użytkowników OSP
  • VM/370 na S/370-168: może obsługiwać 75-100 użytkowników CMS
  • VP/CSS na S/370-168: możliwość obsługi 200+ użytkowników CSS

Jak opisano w Historii CP/CMS , główny nacisk IBM na MVS i jego następców jako podstawowego systemu operacyjnego typu mainframe doprowadził IBM do zmarnowania znacznej przewagi technicznej reprezentowanej przez VM/370. Umożliwiło to niezależnemu dostawcy, takim jak NCSS, uderzenie na nowe terytorium. (Obserwatorzy z branży wskazali, że dostawca sprzętu ma naturalną preferencję do sprzedawania większej ilości sprzętu niż do zwiększania liczby użytkowników na maszynę). NCSS zyskał przewagę techniczną i ostatecznie odniósł duży sukces komercyjny, pomimo zastosowanych technik optymalizacji. w celu zwiększenia wydajności VP i CSS zostały dobrze zrozumiane i dobrze udokumentowane w dzisiejszej literaturze.

Ostatecznie, po tym, jak Amdahl Corporation opublikowała informacje o swoich wygranych w sprzedaży w kilku dużych centrach danych VP/CSS, IBM zaczął zwracać większą uwagę na NCSS i jego techniczne innowacje. Niedługo potem, gdy branża time-sharingu zaczęła odczuwać presję rewolucji komputerów osobistych , zapotrzebowanie na super zoptymalizowany system operacyjny dla wielu użytkowników zmalał.

Los

NCSS odeszło od VP/CSS w połowie lat 80., przestawiając Nomada na VM i inne platformy. Nie wiadomo, jak długo klienci z licencją NCSS na miejscu nadal korzystali z VP/CSS na własnym sprzęcie (chociaż wydaje się mało prawdopodobne, że którykolwiek z nich mógłby trwać długo bez wsparcia systemu operacyjnego NCSS).

Zobacz też

Bibliografia

Dalsza lektura

  • Feinleib, Harold (2005-03-04). „Historia techniczna National CSS” (PDF) . Muzeum Historii Komputerów . Źródło 2008-02-23 . Cytowanie dziennika wymaga |journal=( pomoc )
  • Orenstein, Dick (2005-01-14). "Od samego początku... z mojego punktu widzenia" (PDF) . Muzeum Historii Komputerów . Źródło 2008-02-23 . Cytowanie dziennika wymaga |journal=( pomoc )

Linki zewnętrzne

 CTSS 
> IBM M44/44X
>> CP-40/CMSCP[-67]/CMS  VM/370 → Wersje VM/SE → Wersje VM/SP → Wersje VM/XA → VM/ESAz/VM
Wiceprezes/CSS
> TSS/360
> OSP dla MVT → dla OS/VS2 → dla MVS → ... → dla z/OS
>> MULTICS i większość innych platform z podziałem czasu