System podziału czasu BBN

System podziału czasu BBN
Ed Fredkin working on PDP-1.jpg
Ed Fredkin pracujący nad PDP-1, ok. 1960
Deweloper Bolt, Beranek i Newman (BBN)
Stan roboczy Historyczny
Pierwsze wydanie wrzesień 1962 ; 60 lat temu ( 1962-09 )
Platformy PDP-1

System podziału czasu BBN był wczesnym systemem podziału czasu stworzonym w Bolt, Beranek i Newman (BBN) dla komputera PDP-1 . Rozpoczęła działalność we wrześniu 1962 roku.

Historia

JCR Licklider opuścił MIT , aby zostać wiceprezesem w Bolt Beranek i Newman w 1957 roku. Dowiedział się o podziale czasu od Christophera Stracheya na sponsorowanej przez UNESCO konferencji poświęconej przetwarzaniu informacji w Paryżu w czerwcu 1959 roku.

firmy Digital Equipment Corporation był gotowy w listopadzie 1959 roku, a maszyna została opisana w listopadowo-grudniowym numerze magazynu Datamation . BBNer Ed Fredkin zobaczył prototyp systemu na konferencji Eastern Joint Computer Conference w Bostonie w grudniu 1959 roku i był bardzo zainteresowany. Biorąc pod uwagę zainteresowanie BBN, założyciel i prezes DEC, Ken Olsen, odwiedził go i wyjaśnił, że DEC właśnie zakończył budowę prototypu PDP-1 i że potrzebuje strony testowej na miesiąc. BBN zgodził się być miejscem testowym, według swoich regularnych stawek godzinowych, a następnie na początku 1960 roku otrzymał prototyp PDP-1. Pierwszy produkcyjny PDP-1 przybył w listopadzie 1960 roku i został formalnie przyjęty w kwietniu 1961 roku.

Po zainstalowaniu PDP-1 w BBN, w 1960 roku Licklider zatrudnił Johna McCarthy'ego i Marvina Minsky'ego z MIT jako konsultantów. McCarthy opowiadał się za koncepcją komputerów z podziałem czasu od tego samego roku, ale zauważył powolne postępy na MIT. W BBN Licklider i Fredkin byli żywo zainteresowani. W szczególności Fredkin nalegał, aby „podział czasu można było wykonać na małym komputerze, a mianowicie PDP-1”. Jak wspomina Fredkin:

Wynalazek Johna dotyczący podziału czasu i opowiadanie mi o swoich pomysłach miało miejsce przed pojawieniem się PDP-1. Kiedy po raz pierwszy zobaczyłem PDP-1 na konferencji Eastern Joint Computer Conference, zdałem sobie sprawę, że jest to idealny niedrogi pojazd do realizacji pomysłów Johna. Dlatego zaznaczyłem, że kilka modyfikacji dotyczących współdzielenia czasu będzie częścią PDP-1b.

McCarthy wspominał w 1989 roku:

Ciągle się z nim kłóciłem. Powiedziałem: „Cóż, musiałbyś… zdobyć system przerwań”. A on powiedział: „Możemy to zrobić. Musiałbyś znaleźć jakiegoś swappera”. Powiedziałem: „Możemy to zrobić”.

W związku z tym zespół BBN, w dużej mierze kierowany przez Sheldona Boilena, zbudował niestandardowe dodatki sprzętowe do drugiego PDP-1 firmy, aby zapewnić zewnętrzny system przerwań i bęben magnetyczny do wymiany pamięci. W tym celu firma BBN nabyła pierwszy UNIVAC FASTRAND o pojemności 45 MB i czasie dostępu wynoszącym około 0,1 sekundy.

Jesienią 1962 roku BBN przeprowadził publiczną demonstrację systemu BBN Time-Sharing System z jednym operatorem w Waszyngtonie i dwoma w Cambridge.

Wsparcie sprzętowe dla podziału czasu

Jak opisano w McCarthy i in., sprzęt komputera był następujący: „PDP-1 to komputer binarny z pojedynczym adresem z 18-bitowym słowem i cyklem pamięci wynoszącym pięć mikrosekund; wykonanie większości instrukcji zajmuje dziesięć mikrosekund. Podstawowy rozmiar pamięci to 4096 słów, ale pośrednio można zaadresować do 65 536. Maszyna, której użyliśmy, ma 8192 słów, z czego 4096 jest zarezerwowanych dla systemu podziału czasu. Każdy użytkownik widzi pamięć na 4096 słów... Do komputera dołączony jest szybka pamięć bębna magnetycznego podzielona na 22 pola po 4096 słów. Podstawową operacją systemu bębna jest zamiana pamięci w ciągu 33 milisekund. Podczas tej operacji 4096 słów jest przesyłanych z pamięci rdzenia do pola bębna i jednocześnie do rdzenia pamięć jest ładowana z innego pola bębna.... Pole bębna zawierające 4096 słów jest przydzielane do zapisywania podstawowego obrazu każdego użytkownika, gdy jego program nie jest uruchomiony. Program użytkownika w stanie wykonania jest uruchamiany przez 140 milisekund, a następnie, jeśli jest inny użytkownik również w stanie uruchomienia, stan pamięci rdzenia jest zapisywany w obrazie rdzenia pierwszego użytkownika na bębnie i jednocześnie obraz rdzenia drugiego użytkownika jest ładowany do rdzenia, a program drugiego użytkownika jest uruchamiany w odpowiednim miejscu.

Zobacz też