Historia CP / CMS - History of CP/CMS

Ten artykuł dotyczy historii CP / CMS - historycznego kontekstu, w którym zbudowano system operacyjny maszyny wirtualnej IBM z podziałem czasu .

Rozwój CP / CMS odbywał się w złożonym środowisku politycznym i technicznym .

Poniższe notatki historyczne zawierają dodatkowe cytaty i cytaty pochodzące od obserwatorów z pierwszej ręki.

Wczesne lata 60 .: CTSS, wczesne udostępnianie czasu i Project MAC

Przełomowym systemem podziału czasu pierwszej generacji był CTSS , po raz pierwszy zademonstrowany na MIT w 1961 roku i używany w produkcji od 1964 do 1974 roku. Utorował drogę dla Multics , CP / CMS i wszystkich innych środowisk z podziałem czasu. Koncepcje podziału czasu pojawiły się po raz pierwszy pod koniec lat 50., szczególnie jako sposób na zaspokojenie potrzeb informatyki naukowej . W tamtym czasie komputery były używane głównie do przetwarzania wsadowego - gdzie zadania były przesyłane na kartach perforowanych i uruchamiane sekwencyjnie. Dzielenie czasu umożliwia użytkownikom bezpośrednią interakcję z komputerem, dzięki czemu wyniki obliczeń i symulacji są natychmiast widoczne.

Użytkownicy naukowi szybko przyjęli koncepcję podziału czasu i naciskali na dostawców komputerów, takich jak IBM, o ulepszenie możliwości podziału czasu. Naukowcy z MIT stanęli na czele tych wysiłków, uruchamiając Project MAC , który miał na celu opracowanie nowej generacji technologii współdzielenia czasu i który miał ostatecznie zbudować Multics, niezwykle bogaty w funkcje system współdzielenia czasu, który później zainspiruje początkowy rozwój systemu UNIX . Ten prestiżowy zespół czołowych informatyków sformułował bardzo szczegółowe zalecenia i wymagania techniczne, poszukując odpowiedniej platformy sprzętowej dla swojego nowego systemu. Problemy techniczne były niesamowite. Większość wczesnych systemów współdzielenia czasu omijała te problemy, udostępniając użytkownikom nowe lub zmodyfikowane języki, takie jak Dartmouth BASIC , do których dostęp uzyskiwano za pośrednictwem tłumaczy lub ograniczonych kontekstów wykonywania. Ale wizja projektu MAC dotyczyła wspólnego, nieograniczonego dostępu do obliczeń ogólnego przeznaczenia.

Wraz z innymi dostawcami IBM przesłał propozycję do Project MAC. Jednak propozycja IBM nie została dobrze przyjęta: ku zaskoczeniu IBM, MIT wybrał General Electric jako dostawcę systemu Multics. Opad z tego wydarzenia doprowadził bezpośrednio do CP / CMS.

IBM i System / 360

We wczesnych latach 60-tych IBM usiłował określić swój techniczny kierunek. Firma zidentyfikowała problem z wcześniejszą ofertą komputerów: niezgodność między wieloma produktami i liniami produktów IBM. Każda nowa rodzina produktów i każda nowa generacja technologii zmuszała klientów do zmagania się z całkowicie nowym zestawem specyfikacji technicznych. Produkty IBM obejmowały szeroką gamę konstrukcji procesorów, architektur pamięci, zestawów instrukcji, strategii wejścia / wyjścia itp. Nie było to oczywiście unikalne dla IBM. Wydawało się, że wszyscy dostawcy komputerów rozpoczynali każdy nowy system od projektu „czystego arkusza”. IBM postrzegał to jako problem i szansę. Koszt migracji oprogramowania stanowił coraz większą barierę w sprzedaży sprzętu. Klienci nie mogli sobie pozwolić na modernizację swoich komputerów, a IBM chciał to zmienić.

IBM podjął się bardzo ryzykownego przedsięwzięcia: System / 360 . Ta linia produktów miała zastąpić różnorodną wcześniejszą ofertę IBM , w tym serię IBM 7000 , anulowaną serię IBM 8000, serię IBM 1130 oraz różne inne specjalistyczne maszyny używane do zastosowań naukowych i innych. System / 360 obejmowałby bezprecedensowy zakres mocy obliczeniowej, rozmiaru pamięci, obsługi urządzeń i kosztów; a co ważniejsze, opierał się na deklaracji zgodności wstecznej , tak aby każdy klient mógł przenieść oprogramowanie do nowego systemu bez modyfikacji. W dzisiejszym świecie standardowych interfejsów i systemów przenośnych może się to nie wydawać tak radykalnym celem; ale w tamtym czasie była rewolucyjna. Przed System / 360 każdy model komputera często miał swoje własne, specyficzne urządzenia i programy, których nie można było używać z innymi systemami. Kupowanie większego procesora oznaczało również zakup nowych drukarek, czytników kart, napędów taśm itp. Ponadto klienci musieliby przepisać swoje programy, aby działały na nowym procesorze, czemu klienci często się sprzeciwiali. Wraz z S / 360 IBM chciał zaoferować szeroką gamę systemów komputerowych, z których wszystkie mają wspólną architekturę pojedynczego procesora, zestaw instrukcji, interfejs we / wy i system operacyjny. Klienci będą mogli „mieszać i dopasowywać”, aby sprostać aktualnym potrzebom; i mogli w przyszłości bez obaw aktualizować swoje systemy bez konieczności przepisywania wszystkich swoich aplikacji. IBM nadal koncentrował się na swojej tradycyjnej bazie klientów: dużych organizacjach zajmujących się przetwarzaniem danych administracyjnych i biznesowych.

Na początku projektu System / 360 IBM nie w pełni docenił wielkość związanego z nim ryzyka. System / 360 ostatecznie dał IBM całkowitą dominację w branży komputerowej; ale początkowo prawie wyeliminowało to IBM z biznesu. IBM podjął się jednego z największych i najbardziej ambitnych projektów inżynieryjnych w historii, odkrywając w ten sposób nieekonomię skali i mityczny człowiek-miesiąc . Obszerna literatura na ten temat, na przykład Freda Brooksa , ilustruje pułapki.

To właśnie w okresie paniki System / 360 Project MAC poprosił IBM o dostarczenie komputerów z szerokimi możliwościami współdzielenia czasu. Nie w tym kierunku podążał projekt System / 360. Dzielenie czasu nie było postrzegane jako ważne dla głównej bazy klientów IBM; przetwarzanie wsadowe było kluczowe. Co więcej, dzielenie się czasem było nowym obszarem. Wiele koncepcji, takich jak pamięć wirtualna , pozostało niesprawdzonych. Na przykład: W tamtym czasie nikt nie potrafił wyjaśnić, dlaczego kłopotliwa pamięć wirtualna Atlas Manchester / Ferranti „nie działa”. Zostało to później wyjaśnione jako spowodowane thrashingiem , na podstawie badań CP / CMS i M44 / 44X . W rezultacie ogłoszenie IBM System / 360 z kwietnia 1964 roku nie zawierało kluczowych elementów poszukiwanych przez zwolenników współdzielenia czasu, zwłaszcza możliwości pamięci wirtualnej. Badacze projektu MAC byli zdruzgotani i rozgniewani tą decyzją. Zespół projektowy System / 360 spotkał się z badaczami projektu MAC i wysłuchał ich zastrzeżeń; ale IBM wybrał inną ścieżkę.

W lutym 1964 roku, u szczytu tych wydarzeń, IBM uruchomił swoje Centrum Naukowe Cambridge (CSC), kierowane przez Norma Rassmussena . CSC miało służyć jako łącznik między badaczami MIT a laboratoriami IBM i znajdowało się w tym samym budynku co Project MAC. IBM w pełni spodziewał się wygrania konkursu Project MAC i utrzymania pozycji lidera w dziedzinie obliczeń naukowych i podziału czasu.

Jednym z pierwszych projektów CSC było złożenie propozycji IBM Project MAC. IBM otrzymał informację, że MIT skłania się ku propozycji GE, która dotyczyła zmodyfikowanego komputera z serii 600 ze sprzętem pamięci wirtualnej i innymi ulepszeniami; to ostatecznie stał się GE 645 . IBM zaproponował zmodyfikowany S / 360, który zawierałby urządzenie pamięci wirtualnej zwane „Blaauw Box” - komponent, który został zaprojektowany dla S / 360, ale nie jest w nim zawarty. Zespół MIT odrzucił propozycję IBM. Zmodyfikowany S / 360 był postrzegany jako zbyt różny od reszty linii S / 360; MIT nie chciał używać komputera niestandardowego lub specjalnego przeznaczenia dla MULTICS , ale szukał sprzętu, który byłby szeroko dostępny. GE było przygotowane do dużego zaangażowania się w podział czasu, podczas gdy IBM był postrzegany jako przeszkadzający. Bell Laboratories, inny ważny klient IBM, wkrótce podjął taką samą decyzję i odrzucił S / 360 ze względu na podział czasu.

1964–67: CP-40, S / 360-67 i TSS

Utrata projektu MAC była druzgocąca dla CSC, która zasadniczo straciła swój powód do istnienia. Rasmussen pozostał zaangażowany w dzielenie czasu i chciał odzyskać zaufanie MIT i innych badaczy. Aby to zrobić, podjął śmiałą decyzję: obecnie nieaktywny zespół CSC zbuduje system operacyjny z podziałem czasu dla S / 360. Robert Creasy opuścił Project MAC, aby kierować zespołem CSC, który szybko rozpoczął prace nad CP-40 , pierwszym udanym systemem operacyjnym maszyny wirtualnej opartym na w pełni zwirtualizowanym sprzęcie.

Utrata przez IBM Project MAC i Bell Laboratories spowodowała reperkusje w innych miejscach w IBM.

  • IBM utworzył korporacyjną grupę zadaniową, aby znaleźć satysfakcjonujący sposób spełnienia wymagań klienta w zakresie podziału czasu. Zespół, w skład którego weszli kluczowi pracownicy CSC, zaprojektował nowy model S / 360, który był bliższy celom naukowców z MIT. Miał on stać się IBM System / 360-67 , ogłoszony w sierpniu 1965 r. I dostarczony w lipcu 1966 r. Ogłoszenie IBM obejmowało również nowy system operacyjny z podziałem czasu, TSS / 360 , optymistycznie zaplanowany na czerwiec 1967 r.
  • IBM zreorganizował swoje działy rozwoju i produkcji, aby naprawić dostrzeżone problemy i być może ukarać osoby odpowiedzialne za utratę twarzy IBM.

CSC wkrótce złożyło udaną propozycję do Lincoln Laboratory MIT na S / 360-67, co oznacza poprawę wiarygodności IBM na MIT. Decydując się na produkt z podziałem czasu „w czasie rzeczywistym” zamiast niestandardowego systemu RPQ , IBM pokazał rodzaj zaangażowania MIT w GE.

CSC kontynuowało również prace nad CP-40, rzekomo po to, aby zapewnić wkład badawczy zespołowi S / 360-67 - ale także dlatego, że zespół CSC stał się sceptyczny co do projektu TSS, który miał bardzo agresywny harmonogram i wzniosłe cele. Ponieważ S / 360-67 nie byłby dostępny dla CSC przez jakiś czas, zespół wymyślił pomysłowy krok: zbudowanie własnej pamięci wirtualnej S / 360. Zaprojektowali zestaw niestandardowych zmian w sprzęcie i mikrokodzie, które można zaimplementować na S / 360-40, zapewniając porównywalną platformę zdolną do obsługi architektury maszyny wirtualnej CP-40. Rzeczywisty rozwój CP-40 i CMS rozpoczął się w połowie 1965 roku, jeszcze przed pojawieniem się ich zmodyfikowanego S / 360-40. Pierwsze użycie CP-40 do produkcji miało miejsce w styczniu 1967 roku.

W międzyczasie projekt TSS spóźniał się i borykał się z problemami. Personel CSC był coraz bardziej przekonany, że CP / CMS jest właściwą architekturą do współdzielenia czasu S / 360.

1967–68: CP-67

We wrześniu 1966 r. Pracownicy CSC rozpoczęli konwersję CP-40 i CMS na S / 360-67. CP-67 był znaczącą reimplementacją CP-40; Varian donosi, że projekt został „znacznie uogólniony, aby umożliwić różną liczbę maszyn wirtualnych z większymi wirtualnymi pamięciami”, że nowe struktury danych zastąpiły „bloki sterujące opisujące maszyny wirtualne [które] były zakodowaną na stałe częścią jądro ”, że CP-67 dodał„ koncepcję wolnego przechowywania, tak aby bloki sterujące mogły być przydzielane dynamicznie ”oraz że„ połączenie międzymodułowe również zostało przerobione, a kod został ponownie wprowadzony ”. Ponieważ CSC -67 nie pojawiał się przez jakiś czas, CSC dodatkowo zmodyfikował mikrokod na swoim własnym dostosowanym S / 360-40, aby symulować S / 360-67 - szczególnie jego inne podejście do pamięci wirtualnej. CSC wielokrotnie iz powodzeniem wykorzystywał symulację, aby obejść brak sprzętu: podczas oczekiwania na zmodyfikowany S / 360-40, na S / 360-67, a później na pierwsze prototypy S / 370. Można to postrzegać jako logiczną konsekwencję myślenia „maszyny wirtualnej”. W tym okresie wczesne testy CP-67 przeprowadzono również w miejscach, w których dostępny był sprzęt S / 360-67 - w szczególności w laboratorium IBM Yorktown Heights i Lincoln Laboratory MIT .

Obserwatorzy CP-67 w Lincoln Labs, już sfrustrowani poważnymi problemami z TSS, byli pod dużym wrażeniem CP-67. Nalegali, aby IBM dostarczył im kopię CP / CMS. Według Variana żądanie to „wstrząsnęło całą firmą”, która tak mocno zainwestowała w TSS. Jednak ponieważ witryna była tak krytyczna, IBM zastosował się. Varian i inni spekulują, że ten łańcuch wydarzeń mógł zostać „zaaranżowany” przez Rasmussena jako „podstęp” mający na celu zmotywowanie IBM do dalszego finansowania prac CSC nad „kontr-strategicznym” CP / CMS, którego „kilkakrotnie kazano mu zabić” ”.

W kwietniu 1967 roku - zaledwie kilka miesięcy po rozpoczęciu produkcji CP-40 - CP / CMS był już w codziennym użyciu w Lincoln Labs. Personel Lincoln Lab ściśle współpracował z CSC przy ulepszaniu CP / CMS. „Zaczęli ulepszać CP i CMS natychmiast po ich dostarczeniu. Ludzie z Lincoln i Cambridge blisko współpracowali i regularnie wymieniali kod”, zapoczątkowując tradycję dzielenia się kodem i wzajemnego wsparcia, która będzie trwała latami. Mniej więcej w tym samym czasie, Union Carbide , inny wpływowy klient IBM, podążył tą samą ścieżką - decydując się na uruchomienie CP / CMS, wysłanie personelu do współpracy z CSC i wniesienie wkładu w prace rozwojowe CP / CMS.

CP-40, CP-67 i CMS były w tamtym czasie zasadniczo systemami badawczymi, zbudowanymi z dala od głównych organizacji produktowych IBM, przy aktywnym zaangażowaniu zewnętrznych badaczy. Eksperymentowanie było zarówno ważnym celem, jak i ciągłym działaniem. Robert Creasy , lider projektu CP-40, napisał później:

Projekt CP / CMS [został] przez małą i zróżnicowaną grupę zajmującą się badaniami i rozwojem oprogramowania na własny użytek i wsparcie… [oraz] do eksperymentowania z projektowaniem systemu z podziałem czasu… Harmonogramy i budżety, plany i cele wydajności nie muszą być spełnione.… Spodziewaliśmy się również, że system przynajmniej raz zostanie ponownie uruchomiony po uruchomieniu. Dla większości grupy miało to być doświadczenie edukacyjne. Efektywność została specjalnie wykluczona jako cel projektowania oprogramowania, chociaż zawsze była brana pod uwagę. Nie wiedzieliśmy, czy system przyda się w praktyce… W styczniu 1965 roku, po rozpoczęciu prac nad systemem, z prezentacji dla grup zewnętrznych wynikało, że system będzie kontrowersyjny.

W międzyczasie TSS, opisywany przez Variana jako „elegancki i bardzo ambitny system”, wykazywał „poważne problemy ze stabilnością i wydajnością, ponieważ został wyrwany z gniazda zbyt wcześnie”. W lutym 1968 r., W czasie SHARE 30, osiemnaście witryn S / 360-67 próbowało uruchomić TSS. Podczas konferencji IBM ogłosił „niebieskim listem”, że TSS jest wycofywane - to wielki cios dla społeczności dzielącej się czasem. Ta decyzja zostałaby tymczasowo cofnięta, a TSS nie zostałby wycofany do 1971 roku. Jednak CP / CMS wkrótce zaczął przyciągać uwagę jako realna alternatywa.

1968–72: wersje CP / CMS

  • Maj 1968: Wersja 1 CP / CMS została wydana w ośmiu instalacjach. Został udostępniony jako część biblioteki IBM Type-III w czerwcu. Wkrótce potem, w oparciu o odsprzedaż CP / CMS, uruchomiono dwie firmy z podziałem czasu: National CSS i IDC . Te przedsięwzięcia przejęły kluczowych pracowników z CSC, Lincoln Labs i Union Carbide; i zwrócili uwagę na żywotność CP / CMS, S / 360-67 i pamięci wirtualnej.
  • Kwiecień 1969: CP / CMS został zainstalowany w piętnastu witrynach.
  • Czerwiec 1969: Wydano wersję 2 CP / CMS.
  • Listopad 1971: Wydano wersję 3.1 CP / CMS, zdolną do obsługi sześćdziesięciu użytkowników CMS na -67 - imponująca wydajność.
  • Początek 1972: Wydano CP / CMS w wersji 3.2, wydanie konserwacyjne bez nowych funkcji. CP-67 działał teraz na 44 procesorach, z których jedna czwarta znajdowała się wewnątrz IBM.

W czasie wydania S / 360-67 oprogramowanie było „dołączane” do zakupów sprzętu komputerowego; zobacz „Rozdział oprogramowania i usług IBM” . W szczególności systemy operacyjne IBM były dostępne bez dodatkowych opłat dla klientów IBM. CP / CMS był niezwykły, ponieważ był dostarczany jako nieobsługiwane oprogramowanie typu III w postaci kodu źródłowego - co oznacza, że ​​strony CP / CMS miały nieobsługiwany system operacyjny. Potrzeba samodzielnego wsparcia i wsparcia społeczności pomogła w stworzeniu silnych społeczności użytkowników S / 360-67 i CP / CMS, prekursorów ruchu open source .

Latem 1970 roku zespół CP / CMS rozpoczął prace nad wersją CP / CMS System / 370 ; stałoby się to VM / 370 . CP-370 okazał się kluczowy dla projektu S / 370, dostarczając użyteczną symulację S / 370 na sprzęcie S / 360-67 - powtórzenie wcześniejszych strategii symulacji sprzętowych CSC. Takie podejście umożliwiło rozwój i testowanie S / 370 przed udostępnieniem sprzętu S / 370. Niedobór prototypowych S / 370 spowodował szczególnie istotne opóźnienia w projekcie MVS. Ten niezwykły wyczyn techniczny odmienił rozwój MVS, zdobył nagrodę dla twórców CP-370 i prawdopodobnie uratował projekt CP przed wyginięciem, pomimo agresywnych wysiłków zmierzających do anulowania projektu.

Sierpień 1972 oznaczał koniec CP / CMS, wraz z ogłoszeniem IBM "System / 370 Advanced Function". Obejmuje to: nowe S / 370-158 i -168; sprzęt do relokacji adresów na wszystkich S / 370; i cztery nowe systemy operacyjne: DOS / VS (DOS z wirtualną pamięcią masową), OS / VS1 (OS / MFT z wirtualną pamięcią masową), OS / VS2 (OS / MVT z wirtualną pamięcią masową, która rozwinie się w SVS i MVS) oraz VM / 370 - ponownie wdrożony CP / CMS. W tym czasie zespół programistów VM i CP / CMS powiększył się do 110 osób, w tym dokumentalistów. VM / 370 był teraz prawdziwym systemem IBM, który nie jest już częścią biblioteki IBM Type-III. Jednak dystrybucja kodu źródłowego była kontynuowana przez kilka wydań; szczegóły patrz CP / CMS jako darmowe oprogramowanie .

1968–86 ?: VP / CSS

W 1968 roku dyrektorzy małej firmy konsultingowej w Connecticut o nazwie Computer Software Systems wpadli na śmiały pomysł dzierżawy IBM System / 360-67 do obsługi CP / CMS i odsprzedaży czasu komputerowego. Było to zuchwałe, ponieważ IBM zazwyczaj nie dzierżawił swoich systemów za 50-100 000 USD miesięcznie na rzecz dwuosobowego start-upu. Trzecim i czwartym pracownikiem byli Dick Orenstein , jeden z autorów CTSS , oraz Dick Bayles z CSC - główny architekt CP-67. Inni kluczowi pracownicy ze świata CP / CMS to Harold Feinleib , Mike Field i Robert Jesurum (Bob Jay) .

Pod koniec listopada 1968 roku, po przekonaniu IBM do przyjęcia zamówienia (niemały wyczyn) i zapewnieniu wstępnego finansowania, CSS odebrał swój pierwszy S / 360-67. Zaczęli sprzedawać czas w grudniu 1968 roku.

CSS szybko odkryło, że sprzedając każdą dostępną minutę maszyny wirtualnej po opublikowanych cenach, ledwo mogli uzyskać wystarczające dochody, aby opłacić dzierżawę maszyny. Nastąpił gwałtowny program rozwojowy, zwiększający wydajność CP / CMS do poziomu, w którym można było je z zyskiem odsprzedawać. To zapoczątkowało rozwidlenie kodu źródłowego CP / CMS, który ewoluował niezależnie przez około piętnaście lat. Ten system operacyjny został wkrótce przemianowany na VP / CSS ; firma weszła na giełdę i została przemianowana na National CSS .

Chociaż VP / CSS wiele dzieliło ze swoim rodzicem CP / CMS i swoim rodzeństwem VM / 370, odbiegało od nich na wiele ważnych sposobów. Ze względów biznesowych system musiał działać z zyskiem; a jej użytkownicy, jeśli byliby sfrustrowani, mogli w każdej chwili przestać płacić, po prostu odkładając słuchawkę. Siły te nadały wysoki priorytet czynnikom wpływającym na wydajność, użyteczność i obsługę klienta. VP / CSS szybko stał się znany z rutynowej obsługi 2-3 razy większej liczby interaktywnych użytkowników niż w porównywalnych systemach VM.

Wczesne udoskonalenia NCSS obejmowały takie obszary, jak migracja stron, wysyłanie, system plików, obsługa urządzeń i wydajne funkcje hiperwizora szybkiej ścieżki dostępne za pośrednictwem instrukcji diagnostycznej (DIAG). Późniejsze funkcje obejmowały sieć z przełączaniem pakietów , komunikację międzyprocesową / między maszynami na poziomie FILEDEF ( potok ) oraz integrację z bazą danych. Podobne funkcje pojawiły się również w implementacji maszyny wirtualnej . Ostatecznie zespół programistów NCSS dorównał wielkością IBM, wdrażając szeroką gamę funkcji. Platforma VP / CSS pozostawała w użyciu co najmniej do połowy lat 80-tych. NCSS została przejęta przez Dun & Bradstreet w 1979 roku; przemianowana na DBCS (Dun & Bradstreet Computer Services); zwiększył swoją koncentrację na produkcie NOMAD ; zmienił swoją strategię biznesową, aby objąć VM i inne platformy; aw związku z tym zaprzestano wsparcia i rozwoju VP / CSS, prawdopodobnie ostatniego rozwidlenia CP / CMS innego niż VM.

1964? –72 ?: użycie CP / CMS przez IDC

Firma Interactive Data Corporation (IDC) realizowała plan podobny do planu National CSS , sprzedając usługi współdzielenia czasu w oparciu o platformę CP / CMS. W tym czasie koncentrowała się na usługach finansowych. Varian donosi, że IDC miał „kilka” systemów S / 360-67 z CP / CMS i jeden z „pierwszych przenoszących S / 370” IBM, prawdopodobnie odnosząc się do S / 370-145 z 1971 roku, z pierwszym pudełkiem DAT; ale być może do systemów ogłoszonych w 1972 r. wraz z ogłoszeniem „System / 370 Advanced Function”, w tym S / 370-158 i -168.

[Dalsze szczegóły i cytaty są poszukiwane na temat historii podziału czasu IDC i CP / CMS.]

Notatki historyczne

Poniższe uwagi zawierają krótkie cytaty, głównie z publikacji Pugh i Varian [patrz źródła], ilustrujące kontekst rozwoju CP / CMS. Podano tu raczej bezpośrednie cytaty niż parafrazy, ponieważ perspektywy autorów zabarwiają ich interpretacje.

  • Wczesne dzielenie się czasem i CTSS: Wczesne prace na temat podziału czasu zaczęły pojawiać się około 1959 r. CTSS był przełomowym systemem, który „nauczył świat, jak dzielić się czasem”. Został po raz pierwszy zademonstrowany na MIT w 1961 roku na IBM 709 i był używany w produkcji od 1964 do 1974. Programistami byli Marjorie Merwin-Daggett , Robert Daley , Robert Creasy , Jessica Hellwig , Richard Orenstein (później współzałożyciel National CSS ) i Lyndalee Korn , wszyscy pracujący pod kierunkiem profesora Fernando Corbató . Deweloperzy MIT poprosili IBM o znaczną pomoc i otrzymali ją w zakresie modyfikacji sprzętu w celu ułatwienia przetwarzania CTSS. Creasy opisuje ważny wpływ CTSS na CP / CMS: „CTSS… najbardziej wpłynął na projekt systemu CP / CMS.… [To] zapewniło podzbiór maszyny do użytku przez normalne programy wsadowe… działał bez modyfikacji, jak w przypadku normalnego systemu . Kierownik dzielący czas kradłby i przywracał maszynę bez jego wiedzy. Technika ta została w pełni rozszerzona w CP / CMS. Wiele innych elementów projektu CTSS i udogodnień systemowych, takich jak interfejs użytkownika, sterowanie terminalem, dyskowy system plików i podłączenie innych komputerów, służyło jako operacyjne prototypy.… Konieczność kompatybilności dla ewolucyjnego rozwoju oprogramowania została zademonstrowana przez CTSS; dla sprzętu - przez rodzinę IBM System / 360 ”.
  • Rola Johna McCarthy'ego ( sławy LISP ) w podziale czasu: „Mniej więcej w tym czasie [kwiecień 1961 r.] John McCarthy… wygłosił specjalny wieczorny wykład [podkreślający przyszłe znaczenie podziału czasu, który zakończył się spekulatywną uwagą, że obliczenia mogą w końcu” być zorganizowane jako przedsiębiorstwo użyteczności publicznej, tak jak system telefoniczny jest narzędziem użyteczności publicznej ”. Można postrzegać tę wnikliwą prognozę jako antycypację roli Internetu. Podobne odczucia zostały później z mocą wyrażone przez Alana Kaya i innych. Kierownictwo IBM miało zupełnie inny pogląd na obliczenia.
  • IBM i MIT: Prezes IBM TJ Watson "bardzo sprytnie dał" MIT IBM 704 do użytku przez MIT i inne szkoły w Nowej Anglii, rozpoczynając bardzo bliskie stosunki. IBM założył biuro łącznikowe MIT, mieszczące się w MIT Computation Center, zatrudniające wykwalifikowanych techników. Watson wspomina, że ​​„wstąpił do MIT w 1955 roku i namawiał ich, aby zaczęli szkolić informatyków.… [Z] bardzo agresywnym programem rabatowym w college'u… [tak, że] w ciągu pięciu lat pojawiło się całe nowe pokolenie informatyków, które to zrobiło rynek może się rozwinąć ”. Varian dodaje następujący interesujący przypis: „Wygląda na to, że (bez jasnej dyrektywy kierownictwa korporacyjnego) oddział IBM w Cambridge zdecydował się interpretować pierwotny grant Watsona dla MIT jako upoważnienie do modernizacji systemu w MIT, ilekroć IBM wyprodukował mocniejszy komputer. "
  • Projekt MAC i MULTICS: Projekt MAC firmy MIT został uruchomiony w 1963 roku w celu zbudowania nowego systemu podziału czasu, podążając śladami CTSS. IBM złożył ofertę na dostarczenie zmodyfikowanego S / 360 z tłumaczeniem adresu („Blaauw Box”), na którą również złożył ofertę Bell Labs mniej więcej w tym samym czasie. MIT i Bell Labs wybrały innego dostawcę. Miało to „ważne konsekwencje dla IBM. Odtąd procesory IBM rzadko były wybierane jako maszyny do wiodących akademickich badań informatycznych”. MULTICS i UNIX (plus różne inne platformy minikomputerów) stały się de facto systemami badawczymi.
  • Wkład MIT do S / 360: Personel IBM blisko związany z MIT stał się „zdecydowanym zwolennikiem podziału czasu” i informował projektantów System / 360 o pracy w MIT, w tym o celu ulepszeń sprzętowych CTSS. Architekci System / 360 odwiedzili MIT i rozmawiali z profesorem Corbató. Niemniej jednak w przekonaniu IBM było teraz, że „podział czasu nigdy nie będzie niczym, a świat potrzebuje szybszego przetwarzania wsadowego”. Kiedy w 1964 roku ogłoszono System / 360 bez zmiany adresu, MIT i inni zwolennicy podziału czasu poczuli się zdradzeni.
  • Pamięć wirtualna i współdzielenie czasu: „W czerwcu [1964] ... [MIT] stanowczo twierdził, że wspomagane sprzętowo tłumaczenie adresów dynamicznych (DAT) jest niezbędne” do współdzielenia czasu, „wciąż eksperymentalnego trybu działania, w którym użytkownicy kilku konsol może współużytkować funkcje komputera… Najbardziej podstawowym problemem… było dynamiczne przydzielanie obszarów pamięci programom użytkownika ”. MIT nie cofnąłby się na tym stanowisku, poczuł się zdradzony przez IBM i ostatecznie odwrócił się od IBM do GE po platformę MULTICS .
  • Cambridge Scientific Center (CSC): Założone w 1964 roku przez Norma Rasmussena , w tym samym budynku, co Project MAC (lokalizacja z „dziesięcioma lub piętnastoma systemami współdzielenia czasu kodowanymi, testowanymi lub udostępnianymi” w połowie lat 60.), CSC opracowane i utrzymywane bliskie związki z naukowcami z MIT. „Wszystkie stosunki umowne IBM z MIT zostały przekazane nowemu Centrum Naukowemu w celu administrowania”. Po utracie Project MAC zespół nieoczekiwanie nie miał nic do roboty. To było środowisko, w którym CP-40 ożył.
  • Dwie konkurencyjne strategie w IBM w 1964 roku: inżynierowie IBM zostali podzieleni co do właściwej ścieżki technicznej dla firmy:
    • „Ujednolicenie architektury i programów sterujących komputerów biznesowych i naukowych, zarówno dużych, jak i małych” (bronione przez Brooks / Amdahl; grupa ta odrzuciła dynamiczne tłumaczenie adresów, obawiając się „nieocenionych technik lub technologii” jako podstawy całej linii produktów), a
    • Zmiana „sposobu obliczania mocy obliczeniowej na uniwersytetach i laboratoriach” (tj. Współdzielenie czasu, za którym opowiadają się naukowcy z MIT ściśle współpracujący z IBM).
  • Podzielona opinia o S / 360: pracownicy CSC stali się mistrzami architektury System / 360 w obliczu głębokiego sceptycyzmu środowiska naukowego. Creasy zauważa: „Rodzinna koncepcja IBM System / 360… była najbardziej niesamowitym punktem zwrotnym w rozwoju komputerów, który nie został powszechnie przyjęty z entuzjazmem. Wierzyliśmy [w CSC], że architektura System / 360, łącząca naukę i komercyjne zestawy instrukcji istniałyby przez dłuższy czas. [Eliminacja] traumy związanej z powszechnym przekodowywaniem programów [poprzez obietnicę kompatybilności wstecznej S / 360] również wskazywała na długie życie. Ponadto spekulowaliśmy, że wiele systemy operacyjne i duża liczba programów użytkowych byłyby produkowane przez cały okres eksploatacji tego projektu maszyny ”. Okazały się to dobre prognozy.
  • Reorganizacja IBM w 1965 roku: dwa działy produktów IBM zajmujące się rozwojem z podziałem czasu - Advanced Systems Development Division (ASDD) i Data Systems Division (DSD) - zostały „wycofane; ich… zasoby zostały przydzielone do nowego działu rozwoju systemów (SDD)… oraz nowy Dział Produkcji Systemów [(SMD)]. " Rozwiązanie dużych organizacji, które wcześniej były odpowiedzialne za podział czasu, sugeruje, że działają siły polityczne.
  • 360/67 i TSS: Rasmussen poczuł się zdradzony decyzją IBM o zignorowaniu podziału czasu i zdecydował, że „Cambridge Scientific Center napisze system podziału czasu dla System / 360”. Utrata projektu MAC w końcu przyciągnęła uwagę IBM, a zasoby zostały udostępnione, aby pomóc „wygrać przetargi na systemy z podziałem czasu”. Przygotowano przybliżone specyfikacje dla nowego S / 360-67 , które obejmowałyby translację adresów (poprzez "DAT Box", który w przeciwieństwie do "Blaauw Box", obsługiwał zarówno tablice segmentów, jak i stron) oraz nowy system operacyjny: TSS. „Grupa sześciu witryn… miała umowę o nieujawnianiu informacji” podczas opracowywania systemu (prawdopodobnie Lincoln Lab, University of Michigan, Carnegie University, Bell Labs, General Motors i Union Carbide). University of Michigan i Lincoln Laboratory MIT były dwiema z pierwszych transakcji sprzedaży i odegrały rolę w projektowaniu sprzętu. TSS został ogłoszony w sierpniu 1965 roku jako „elegancki i bardzo ambitny system”, ale „zbyt młody” wyrwany z gniazda z „poważnymi problemami ze stabilnością i wydajnością”.
  • Zasoby finansowe CSC: Rasmussen wykorzystał kreatywną księgowość do sfinansowania powstania CP-40. Varian: „Kiedy IBM przekazał 7094 do MIT Computation Center, zachował nocną zmianę na tej maszynie do własnego użytku. Tak więc, ponieważ Centrum Naukowe odziedziczyło kontrakty IBM z MIT, Rasmussen„ posiadał ”osiem godzin 7094 na Odsprzedał część tego czasu do Centrum Obliczeniowego [MIT] na czas CTSS, który jego programiści mogli wykorzystać na pracę programistyczną. Resztę czasu [z 7094 r.] „sprzedał” deweloperom sprzętu IBM w Poughkeepsie, którzy źle potrzebował 7094 czasu na uruchomienie programu automatyzacji projektowania, który był krytyczny dla rozwoju sprzętu System / 360. Z pozyskanych w ten sposób środków własnych zapłacił za modyfikacje Modelu 40… [i za] pracowników zatrudnionych w niepełnym wymiarze godzin, głównie studentów MIT oraz zapłacić [tymczasowe] pensje IBMers, którzy przybyli do Cambridge, aby pracować nad systemem… [wykorzystując] „niezabudżetowane dochody”… aby zachować bardzo niski profil ”. Rasmussen sprzedał również wolny czas na innym, tymczasowym S / 360-40, dostarczonym przez IBM do CSC, gdy czekali na zmodyfikowany system pamięci wirtualnej. Jeśli na MIT istniało przekonanie, że fundusze MIT trafiły do ​​CP / CMS, mogło to pochodzić z tych skomplikowanych transakcji. Oczywiście, niezależnie od kwestii finansowych, badacze spoza IBM, zwłaszcza z MIT i Union Carbide, wnosili bezpośredni i pośredni wkład. To również spowodowałoby zaciemnienie postrzegania autorstwa.
  • Decyzje przeciwdziałające współdzieleniu czasu : „W latach 1961 i 1962 podział czasu [wysiłki wymagały] bliskiego kontaktu z Centrum Obliczeniowym MIT poprzez sprzedaż i specjalny personel inżynieryjny”. Po krytyce MIT i ostatecznym wyborze GE dla MULTICS, grupa zadaniowa IBM „przedstawiła przydatne sugestie, ale skutecznie poparła pracę projektantów 360, zgłaszając, że zbyt mało wiadomo o trybie pracy z podziałem czasu, aby uzasadnić [jego dążenie ].… W 1967 r. Obserwator branży naliczył około czterdziestu instalacji ogólnego przeznaczenia z podziałem czasu w Stanach Zjednoczonych - w porównaniu z dziesięcioma w 1965 r. I więcej w porównaniu z jedną (demonstracja MIT) w 1961 r. Część kosztów rozwoju została wyrównana przez agencję badawczą w Departamencie Obrony, która sponsorowała sześć z pierwszego tuzina. "
  • Nieformalne wydanie CP / CMS: CP-67 / CMS ”zostało ogłoszone nieformalnie, ponieważ zostało opracowane poza organizacjami rozwoju produktu w działach produktu i marketingu. Zobacz biuletyn instalacyjny IBM 68-10, 31 maja 1968,„ Nowe programy typu III , „str. 13–5”. Zwróć uwagę, że ten opis nie wspomina o polityce firmy, możliwym wykorzystaniu funduszy publicznych, roli Lincoln Labs itp.
  • Związek między wczesnym podziałem czasu a wprowadzeniem HP-35: przed udostępnieniem potężnych ręcznych kalkulatorów w 1972 r., Podczas „pierwszej dekady podziału czasu”, jednym z zastosowań terminala było żądanie drobnych obliczeń, które należało przenieść do większej liczby miejsc po przecinku, niż jest to możliwe za pomocą suwaka logarytmicznego ”. To był jeden z powodów, dla których dzielenie czasu było tak ważne dla użytkowników naukowych i akademickich.
  • Pamięć wirtualna i strach przed ryzykiem IBM: „W następstwie traumy System / 360”, odniesienie do nieszczęść związanych z dużymi projektami, takich jak te opisane przez Freda Brooksa , kierownictwo IBM, „podjęło kroki w celu zapewnienia, że ​​firma nigdy więcej zaangażowanych w program wysokiego ryzyka. ” U szczytu tego przepasania lędźwi jest sytuacja, w której IBM odepchnął współdzielenie czasu i pamięć wirtualną na bok na rzecz głównego nurtu komercyjnego przetwarzania wsadowego. To ironiczne, że w latach 1970–71 inne siły w IBM „uruchomiły wysiłek stworzenia projektu Future System (FS) [z] celami technologicznymi co najmniej tak ryzykownymi jak cele System / 360.… Trzy i pół lata później projekt został porzucony ”. Powszechnie wiadomo, że Gene Amdahl , kluczowy gracz FS, kontynuował realizację celów i technologii FS po odejściu z IBM.
  • Przeznaczenie i zastosowanie CP / CMS: Creasy zapewnia następujący wgląd: „CMS został opracowany… w celu wspierania własnego rozwoju i utrzymania… [oraz] utrzymania innych składników VM / 370… W większości przypadków wybrano podzbiór funkcji [ do wdrożenia,] z oczekiwaniem na przyszłą pracę. Spodziewaliśmy się, że wiele systemów operacyjnych będzie się rozwijać w środowisku maszyny wirtualnej. Czy jest lepsze miejsce do eksperymentowania z nowymi pomysłami systemowymi? Tak się nie stało. Zamiast tego do CMS dodano wiele funkcji, rozszerzyć jego zastosowanie na obszary lepiej obsługiwane przez nowe systemy ”. Pokolenie później, gdy mamy do czynienia z różnorodnością platform zbudowanych we wspólnym świecie open source , łatwo jest zrozumieć nadzieje Creasy'ego na CP / CMS jako inkubator rozwoju i jego rozczarowanie tym, co musiało wydawać się straconymi szansami. Taki był los wielu systemów badawczych, ale niewiele z nich podziela ponad 40-letni okres koncepcji zapoczątkowanych wraz z CP-40.

Zobacz też

Uwagi

Bibliografia

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 przez kierownika projektu CP-40 , również autora CTSS
  • EW Pugh, LR Johnson i John H. Palmer, IBM 360 i wczesne systemy 370, MIT Press, Cambridge MA i Londyn, ISBN   0-262-16123-0
    - obszerne (819  stron ) omówienie ofert IBM w tym okresie; wymowny jest ograniczony zasięg CP / CMS w tak ostatecznej pracy
  • Melinda Varian, VM i społeczność VM, przeszłość teraźniejszość i przyszłość , SHARE 89 Sessions 9059–61, 1997;
    - doskonałe źródło historii CP / CMS i VM

Dodatkowe źródła CP / CMS

  • RJ Adair, RU Bayles, LW Comeau and RJ Creasy, A Virtual Machine System for the 360/40, IBM Corporation, Cambridge Scientific Center Report nr 320-2007 (maj 1966)
    - przełomowy artykuł opisujący implementację koncepcji maszyny wirtualnej, z opisów dostosowane CSC S / 360-40 i CP-40 projektu
  • International Business Machines Corporation, CP-67 / CMS , Program 360D-05.2.005, IBM Program Information Department (czerwiec 1969)
    - podręcznik referencyjny IBM
  • RA Meyer i LH Seawright, „System podziału czasu maszyny wirtualnej”, IBM Systems Journal, tom. 9, nr 3, ss. 199–218 (wrzesień 1970)
    - opisuje system CP-67 / CMS, przedstawiając cechy i zastosowania
  • RP Parmelee, TI Peterson, CC Tillman i DJ Hatfield, „Wirtualna pamięć masowa i koncepcje maszyn wirtualnych”, IBM Systems Journal, tom. 11, nr 2 (czerwiec 1972)

Podstawowe źródła CP / CMS

  • FJ Corbató, et al., The Compatible Time-Sharing System, A Programmer's Guide, MIT Press, 1963
  • FJ Corbató, M. Merwin-Daggett i RC Daley, „An Experimental Time-sharing System”, Proc. Natl. Spring Joint Computer Conference (AFIPS) 21, s. 335–44 (1962) - opis CTSS
  • FJ Corbató i VA Vyssotsky, „Wprowadzenie i przegląd systemu MULTICS”, Proc. Natl. Fall Joint Computer Conference (AFIPS) 27, s. 185–96 (1965)
  • PJ Denning, „Pamięć wirtualna”, Computing Surveys Vol. 2, str. 153–89 (1970)
  • JB Dennis, „Segmentacja i projektowanie wieloprogramowych systemów komputerowych”, JACM Vol. 12, s. 589–602 (1965)
    - wymagania dotyczące pamięci wirtualnej dla Project MAC, przeznaczone dla GE 645
  • CAR Hoare i RH Perrott, red., Operating Systems Techniques , Academic Press, Inc., Nowy Jork (1972)
  • T. Kilburn, DBG Edwards, MJ Lanigan i FH Sumner, „One-Level Storage System”, IRE Trans. Elektron. Computers EC-11, s. 223–35 (1962)
    - Manchester / Ferranti Atlas
  • RA Nelson, „Mapping Devices and the M44 Data Processing System”, raport badawczy RC 1303 , IBM Thomas J. Watson Research Center (1964)
    - o IBM M44 / 44X
  • RP Parmelee, TI Peterson, CC Tillman i DJ Hatfield, „Virtual Storage and Virtual Machine Concepts”, IBM Systems Journal , tom. 11, str. 99-130 (1972)

Dodatkowe zasoby on-line CP / CMS

Informacje ogólne

  • Peter J. Denning, „Performance Modeling: Experimental Computer Science at its Best”, Communications of the ACM , President's Letter (listopad 1981)
    - Cytuje następujące artykuły dotyczące IBM M44 / 44X :
  • L. Belady, „Badanie algorytmów zastępczych dla wirtualnych komputerów pamięci masowej”, IBM Systems Journal Vol. 5, nr 2 (1966), str. 78–101.
  • L. Belady i CJ Kuehner, „Dynamiczne współdzielenie przestrzeni w systemach komputerowych” Komunikacja ACM, tom. 12 nr 5 (maj 1969), str. 282–88.
  • L. Belady, RA Nelson i GS Shedler, „Anomalia w charakterystyce czasoprzestrzeni niektórych programów uruchomionych w maszynach stronicujących”, Communications of ACM Vol. 12, nr 6 (czerwiec 1969), str. 349–53.
  • LW Comeau, „CP-40, the Origin of VM / 370”, Proceedings of SEAS AM82 (wrzesień 1982)
    - opis CP-40, cytowany w Varian [powyżej]
  • Harold Feinleib , „ A Technical history of National CSS ”, Computer History Museum (marzec 2005). PDF .
  • W. O'Neill, „Doświadczenie w korzystaniu z wieloprogramowego systemu z podziałem czasu ze sprzętem do dynamicznej zmiany adresu”, Proc. Konferencja komputerowa AFIPS 30 (Spring Joint Computer Conference, 1967), str. 611–21
    - [Opisuje eksperymentalny IBM M44 / 44X, raportuje pomiary wydajności związane z pamięcią i stronicowaniem oraz omawia wpływ multiprogramowania i współdzielenia czasu na wydajność.]
  • Dick Orenstein , „ Od samego początku… z mojego punktu widzenia ”, Muzeum Historii Komputerów (styczeń 2005). PDF
    - wczesna historia National CSS
  • D. Sayre, On Virtual Systems, IBM Thomas J. Watson Research Center (15 kwietnia 1966 r.)
    - Wczesna publikacja dotycząca maszyny wirtualnej, opisująca wieloprogramowanie przy użyciu eksperymentalnego systemu stronicowania IBM M44 / 44X.

Cytaty

Drzewo rodzinne

  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