Thompson Shell

Wiersza polecenia interpreter opracowany z UNIX od 1969 jest retronymously mowa aby jak Thompson powłoce po jej deweloper Ken Thompson . Oryginalnie napisana w asemblerze , oryginalna powłoka Uniksa została ponownie zaimplementowana w 1973 wraz z wersją 4 systemu UNIX w C. sh

Thompson powłoka jest pierwszy, bardzo prymitywny wariant Unix shell, ale wiele później, poprawione i rozszerzone muszle Unix można prześledzić wstecz do niego. Nie jest już używany w nowoczesnych systemach uniksowych i uniksopodobnych , ale ostatnia wersja została ponownie zaimplementowana dla nowoczesnych systemów .

historia

UNICS, jak system został nazwany w 1969 roku jako gra słów i aluzja do wcześniejszego projektu systemu operacyjnego Multics , wykorzystał niektóre koncepcje Multics, na których niektórzy późniejsi twórcy Uniksa, tacy jak Ken Thompson, Doug McIlroy , Dennis Ritchie i Joseph Ossanna miał krótko pracował. Jednym z nich była muszla . Na przykład UNIX - pisownia została użyta przy publikacji pierwszej wersji najpóźniej w 1971 r. - oprócz jądra składał się z podstawowych komponentów systemu plików Unix i powłoki Uniksa . Już w 1972 roku w tej powłoce zaimplementowano koncepcję łańcucha poleceń i filtrów ( rur ) autorstwa Douga McIlroya.

Thompson powłoki ( sh) była standardowa powłoka AT & T UNIX do uwalniania V7 UNIX (1979). Stephen R. Bourne już w latach 70. opracował ulepszoną powłokę Uniksa, która zastąpiła powłokę Thompsona od wersji V7 UNIX . Bourne shell jest również shwykonywany. Ale inne, późniejsze, bardziej nowoczesne powłoki Uniksa również używają składni wprowadzonej przez powłokę Thompsona oprócz nazwy pliku wykonywalnego ; Między innymi użycie górnych i dolnych znaków do przekierowania wejść i wyjść zostało po raz pierwszy użyte w powłoce Thompsona .

funkcje

Thompson powłoka ma właściwości rdzeniowej powłokę,:

  • Łańcuchy poleceń lub filtrów ( rury , „rurociągi”)
  • Przekierowanie wejść i wyjść programu
  • Podsumowania poleceń lub łańcuchów poleceń w plikach poleceń ( skrypty powłoki )

W przeciwieństwie do bardziej nowoczesnych powłok systemu Unix, które są interpreterami poleceń i językami programowania , powłoka Thompsona nie ma własnych konstrukcji programistycznych. Instrukcje ifi gotosą realizowane jako oddzielne polecenia, za pomocą których można rozwiązać określone zadania programistyczne (warunkowa kontrola sekwencji programu), ale nie ma możliwości uzgadniania zmiennych . Jednak kilka argumentów można przekazać do interpretera poleceń, który pośrednio symuluje funkcję zmiennych, wywołując nowe instancje powłoki.

Reimplementacja

Kiedy oshThompson shell został przepisany dla nowoczesnych uniksowych systemów operacyjnych. Nazwa pochodzi od angielskiej starej muszli , „starej muszli”. Ich następca jest zetshzwiększona powłoki Thompson . W przeciwieństwie do oryginalnej powłoki Thompsona z wczesnych lat 70., zmienne środowiskowe można ustawiać bezpośrednio w obu ; Gdy używana jako powłoka podstawowa, re-implementacje odczytują również plik profilu zarządzany przez użytkownika, np. B. do ustawiania informacji o ścieżce.

literatura

  • Ken Thompson: język poleceń UNIX. W: Programowanie strukturalne - International Computer State of the Art Report, Infotech Information Ltd. Maidenhead, Berkshire, 1975, s. 375–384.

linki internetowe

Indywidualne dowody

  1. University of Michigan (red.): Programmer's Journal . taśma 5 . Avant-Garde Creations, 1987, s. 16 (w języku angielskim, brak podglądu ): „Ken Thompson, ojciec Uniksa, napisał pierwszy podstawowy interfejs poleceń dla systemu operacyjnego Ma Bell - w typowy dla badaczy sposób nazywając go powłoką Thompsona”.
  2. Isrd: Podstawy programowania w systemach operacyjnych Unix i Shell . Tata McGraw-Hill Education, 2006, ISBN 978-0-07-061681-3 (angielski, ograniczony podgląd w Google Book Search): „MULTICS wywarł silny wpływ na nowy system operacyjny. Podstawowa organizacja systemu plików, idea powłoka jako proces użytkownika, użycie oddzielnego procesu dla każdego polecenia i podobne inne funkcje zostały z niej odziedziczone. "
  3. ^ Michael L. Scott: Pragmatyka języka programowania . Morgan Kaufmann, 2009, ISBN 978-0-08-092299-7 (angielski, ograniczony podgląd w wyszukiwarce książek Google): „Kiedy w 1964 roku rozpoczęto prace nad przełomowym systemem multics, [Louis] Pouzin naszkicował projekt rozszerzonego polecenia język, z mechanizmami cytowania i przekazywania argumentów, dla którego ukuł termin „powłoka”.
  4. ^ SK Bajpai: Wprowadzenie do komputerów i C Programming . New Age International, 2007, ISBN 978-81-224-1379-3 (angielski, ograniczony podgląd w Google Book Search): „UNIX… składa się zasadniczo z następujących części: Kernel…, Shell…, The file system…”