John Iliffe (projektant komputerów)

Johna Kennetha Iliffe
Portrait
Urodzić się ( 1931-09-18 ) 18 września 1931
Londyn
Zmarł 16 lutego 2020 (16.02.2020) (w wieku 88)
Narodowość brytyjski
Alma Mater St. John's College, Uniwersytet Cambridge
Znany z Projektowanie systemów komputerowych z bezpiecznym zarządzaniem obiektami i precyzyjną ochroną programów; struktura przechowywania wektorów Iliffe
Nagrody IEEE Computer Society Harry H. Goode Memorial Award, 2000
Kariera naukowa
Instytucje Rice University w Houston w Teksasie

International Computers Limited Queen Mary University of London , Wielka Brytania

Imperial College w Londynie , Wielka Brytania

John Kenneth Iliffe (18 września 1931-16 lutego 2020) był brytyjskim projektantem komputerów, który pracował nad projektowaniem i oceną komputerów obsługujących szczegółową ochronę pamięci i zarządzanie obiektami. Wdrożył, ocenił i udoskonalił takie projekty w Rice Institute Computer , R1 (1958–61) i ICL Basic Language Machine (1963–68). Kluczową cechą w architekturach obu maszyn była sprzętowa kontrola tworzenia i wykorzystywania odniesień do pamięci, tak aby pamięć mogła być postrzegana jako zbiór obiektów danych o określonych rozmiarach, których integralność jest chroniona przed skutkami błędów w obliczaniu adresu , takie jak przekroczenie wskaźników pamięci (przez przypadek lub w złym zamiarze).

Wkład techniczny

Iliffe uczęszczał na kurs programowania EDSAC w Cambridge w 1952 roku. W końcu nauczył się informatyki, prowadząc biuro usług IBM (Wielka Brytania) w Londynie. W 1958 roku został zaproszony do zespołu budującego komputer R1 w Rice Institute w Houston, w którym wziął odpowiedzialność za projekt i wdrożenie systemu operacyjnego i języka. W ciągu następnych 30 lat uruchomił cztery komputery demonstrujące i oceniające nowe koncepcje w projektowaniu.

Komputer Rice R1

Iliffe kierował rozwojem systemu operacyjnego i języka programowania dla Rice Computer . Jego projekt obejmował wczesną instancję dynamicznej alokacji i zarządzania pamięcią, umożliwiając programom pozyskiwanie pamięci na żądanie i automatyczne odzyskiwanie jej, gdy nie była już dostępna.

W R1 Iliffe i jego współpracownicy wprowadzili schemat ochrony dla wszystkich obiektów danych. Manipulowanie odniesieniami do pamięci (nazywanymi słowami kodowymi ) było ograniczone do uprzywilejowanego kodu, zapobiegając niektórym typom błędów programu. Słowa kodowe odnosiły się do wektorów elementów danych, sekwencji instrukcji lub innych słów kodowych. Dostęp do pamięci był uzyskiwany przez odniesienie do słowa kodowego, które zostało rozwiązane za pomocą konwencjonalnego adresu lub licznika programu, dającego w razie potrzeby bezpośredni dostęp do pamięci. System zapewniał funkcje tworzenia, zarządzania i aktualizowania słów kodowych, na przykład zmieniając je w celu odzwierciedlenia decyzji dotyczących zarządzania pamięcią masową. Obsługuje również algebraiczny język programowania (zwany Genie), który został zaimplementowany przy użyciu koncepcji projektowania obiektowego w 1961 roku. Kompilator Genie i powiązany z nim asembler były niezwykłe, ponieważ umożliwiały traktowanie całego systemu jako dyscypliny zarządzania obiektami. Genie był również jednym z pierwszych języków, które obejmowały wewnętrzne operacje na rzeczywistych i złożonych wektorach i macierzach.

Dobrze znana struktura przechowywania wektorów Iliffe dla wielowymiarowych i nieregularnych tablic wyłoniła się z pracy R1. Wykorzystuje podobną strukturę adresowania, ale bez wymuszania systemu.

Podstawowa maszyna językowa

We wczesnych latach sześćdziesiątych istniało silne wymaganie, aby komputery ogólnego przeznaczenia umożliwiały jednoczesne wykonywanie wielu programów użytkownika, zarówno w formie wieloprogramowania w celu optymalizacji wykorzystania zasobów komputera, jak i w formie współdzielenia czasu w celu umożliwienia interaktywnej obliczenia . Oba wymagają architektury komputerowej, w której system operacyjny mógłby zagwarantować separację, bezpieczeństwo i integralność kilku współbieżnie działających programów. Wydawało się jasne, że uproszczony model architektury wywodzący się z MSR Princeton i podążający za wszystkimi modelami „von Neumanna” napotkałby poważne trudności w spełnieniu tego wymogu.

Podstawowa maszyna językowa (BLM), skonstruowana i oceniona w dziale badawczym International Computers Limited (ICL) w latach 1963-1968, była pierwszym systemem ogólnego przeznaczenia, który całkowicie zerwał z architekturą von Neumanna . Zamiast opierać architekturę na pojedynczej liniowej przestrzeni adresowej, BLM oferował segmentowe adresowanie pamięci, umożliwiając automatyczne zarządzanie pamięcią masową i dostęp w ramach ściśle określonych granic bezpieczeństwa.

Iliffe przyjął pogląd inżynierów, że powinno być możliwe zaoferowanie sposobu, opartego na technikach zarządzania pamięcią, które zostały już zademonstrowane w Rice R1, w celu zapewnienia integralności współbieżnych programów bez uciekania się do stosunkowo kosztownych mechanizmów obejmujących częste zamiany wektorów stanu procesu widoczne w większość innych systemów. Opracował projekt oparty na wykorzystaniu słów kodowych do reprezentowania wszystkich odniesień do pamięci. Słowo kodowe zawierało adres bazowy , limit określający długość obiektu danych i pewne informacje o typie . Wewnętrzna reprezentacja słów kodowych była nieprzejrzysta dla programów użytkownika, ale zapewniono specjalne instrukcje maszynowe, aby manipulować nimi w sposób zachowujący strukturę danych. Stanowiło to znaczne udoskonalenie architektury Rice R1, zapewniając wydajne zarządzanie wieloma procesami, z których każdy ma oddzielny magazyn danych i instrukcji o strukturze drzewa.

Rice R1 i BLM były przykładami architektur komputerowych opartych na deskryptorach, które pojawiły się w latach 60. XX wieku i miały na celu zarówno skuteczną ochronę jednocześnie wykonywanych programów, jak i niezawodną implementację języków wysokiego poziomu . Innym ważnym przykładem była seria komputerów B5000 opracowana i sprzedawana przez Burroughs Corporation. Wszystkie te komputery oparte na deskryptorach zawierały mechanizmy sprzętowe zaprojektowane do obsługi niezawodnego adresowania segmentów danych. Są blisko spokrewnione z architekturami opartymi na możliwościach , które pojawiły się kilka lat później.

Równolegle z budową BLM oddzielny zespół ewaluacyjny oceniał go pod kątem (1) wydajności programu, (2) charakterystyki działania, (3) kosztów kodowania i debugowania oraz (4) kosztów ogólnych systemu. Dla sensownego porównania wykorzystano starsze języki wysokiego poziomu (Cobol, Fortran, zarządzanie plikami). Wykazano, że pomimo precyzji mechanizmu adresowania nie nastąpiła zauważalna utrata wydajności ani dodatkowy narzut systemu.

Levy omawia szerszy wpływ architektur komputerowych opartych na deskryptorach w odniesieniu zarówno do Burroughs B5000, jak i BLM (s. 38) „... bez względu na to, czy były długowieczne, te maszyny wykazały wykonalność wykorzystania deskryptorów i segmentacja do znacznie zwiększają elastyczność programowania dla użytkownika, kompilatorów i systemu operacyjnego”. Levy zauważa również, że „doskonałe omówienie BLM w kontekście nowoczesnych systemów zdolności pojawia się w Advanced Computer Design Iliffe ”.

Projekt BLM został odrzucony przez kierownictwo ICL w wewnętrznym przeglądzie opcji wyboru nowej architektury dla produktów mainframe ICL w grudniu 1969 roku.

W roku 2000 Iliffe otrzymał nagrodę IEEE Harry H. Goode Memorial Award „Za całokształt twórczości w praktyce projektowania i oceny systemów komputerowych”.

Zmiany w technologii półprzewodnikowej w ciągu 30 lat po opracowaniu BLM doprowadziły do ​​udoskonalenia architektury. Ze względu na brak funduszy na badania zostały one ocenione głównie za pomocą symulacji przy użyciu tanich mikroprocesorów, a Advanced Computer Design Iliffe'a opisuje je dość szczegółowo.

Życie osobiste

  • Wykształcenie: Stypendium stolarza do City of London School (1945–1948). Matematyczne Tripos w St John's College, Cambridge 1949–1952.
  • Służba: Królewska Marynarka Wojenna 1953–1956. Instruktor porucznik.
  • Sport: prezes Otter Swimming Club 1990-1996.
  • Iliffe był żonaty z Dorothy Bannister 1955–2015 (jej śmierć). Mieli troje dzieci: Louise, Jonathana i Kate.

Dalsza lektura