Dlaczego słowo „shell” zostało użyte do opisania interfejsu wiersza poleceń?

28

Jestem ciekawy terminu „shell”. Myślę, że wiem, co to jest (chociaż rozróżnienie między „powłoką” a „terminalem” jest nadal niejasne), ale dlaczego słowo „powłoka” zostało wybrane do opisania tego rodzaju programu?

Może się to wydawać nieistotne, ale zwykle, gdy słowa wybierają mnie tajemniczo, wskazuje to na lukę w moim rozumieniu.

Eric Wilson
źródło
Terminal to urządzenie lub rura we / wy. Powłoka to program wykonywalny, który interaktywnie w czasie rzeczywistym odbiera dane wejściowe od terminala, a następnie wykonuje na nim działania. „Powłoki” bez możliwości bezpośredniego interaktywnego wykorzystania są technicznie pewnego rodzaju tłumaczami.
LawrenceC

Odpowiedzi:

8

Multics słowniczek może stanowić pewną wskazówkę. Powłoka jest zdefiniowana w następujący sposób:

Procesor poleceń Multics był kiedyś nazywany powłoką. Ten program jest przekazywany do wiersza poleceń w celu wykonania przez słuchacza; analizuje wiersz na nazwę polecenia i argumenty, lokalizuje polecenie i inicjuje je, i wywołuje program poleceń za pomocą argumentów będących ciągami znaków PL / I. Łatwo jest zastąpić domyślną powłokę dostarczoną przez system programem dostarczonym przez użytkownika, wywołując cu_ $ set_cp (patrz skrót). Powłoka uniksowa obejmuje pojęcia zarówno powłoki, jak i odbiornika w sensie Multics.

Zależność między powłoką a słuchaczem ma sens zarówno etymologicznie, jak i metaforycznie [1].

[1] „Ponieważ skorupa jest symbolem władzy, mowy i słuchu, czyli symbolem proroctwa ...”

jasonwryan
źródło
19

Analogia jest z nakrętką : na zewnątrz jest skorupa, w środku jest jądro.

z powodzeniem
źródło
10

From http://en.wikipedia.org/wiki/Thompson_shell#History

„Nazwę„ powłoki ”interpretera wiersza poleceń i koncepcję uczynienia z powłoki programu użytkownika poza jądrem systemu operacyjnego wprowadzono w prekursorze Multics dla Uniksa.”

W dalszej części wikipedii nora królika znajduje to: „Louis Pouzin, wprowadził termin shell dla języka poleceń używanego w Multics”

Nie przeczytałem go w całości, ale jego pismo tutaj może dać ci odpowiedź: http://www.multicians.org/shell.html

EDYCJA: rzeczywiście nie jest wyjaśnione. Po prostu „wymyślił” ten termin. Czyż nie jest to zabawna historia, na którą liczyłeś?

draeath
źródło
3
Niezadowalające, ale czasem tak się dzieje.
Eric Wilson,
10

Może dlatego, że jest to powierzchnia, która chroni wewnętrzne jądro przed użytkownikiem? Jądro byłoby perłą wewnątrz skorupy.

nieznany użytkownik
źródło
Zawsze słyszałem, że powłoka była warstwą ochronną, która osłaniała użytkownika przed jądrem.
Glorytoad
1

Wygląda na to, że odpowiedź leży tutaj:

Uwaga historyczna: Najwyraźniej oryginalna powłoka Multics (sens 1) została nazwana, ponieważ była powłoką (sens 3); uruchamiał programy użytkownika nie uruchamiając osobnych procesów, ale dynamicznie łącząc programy ze swoim własnym kodem, wywołując je jako podprogramy, a następnie dynamicznie usuwając je po powrocie. Interpreter poleceń VMS nadal robi coś bardzo podobnego do tego.

- Wikipedia

Tj. „Shell” był dobrą analogią do świata rzeczywistego, w jaki sposób Multics, poprzednik Uniksa, uruchamiał programy.

Alex W.
źródło
Wikipedia nie jest jednak źródłem. Używanie go jako jednego prowadzi do cyklicznego pozyskiwania, w którym Wikipedia używa strony jako źródła, która sama używała Wikipedii jako źródła. W obecnej formie jest to czysta spekulacja.
Evi1M4chine,
0

Jak rozumiem, „powłoka” jest starszym terminem, który nazwalibyśmy „Podstawowym interfejsem użytkownika”. Współczesnym analogicznym terminem byłoby „środowisko pulpitu”, ponieważ wirtualnie wszystkie nowoczesne systemy wykorzystują metaforę pulpitu.

Miś
źródło
1
Wiele się nakłada, ale to nie jest dokładnie poprawne. Każda powłoka jest interfejsem użytkownika. Ale nie każdy interfejs użytkownika jest powłoką. Powłoka jest głównym interfejsem użytkownika, dookoła wszystkiego i od którego wszystko się zaczyna. Jest to główny interfejs użytkownika systemu operacyjnego.
Evi1M4chine,
-2

Jądro jest rdzeniem systemu, podczas gdy powłoka go otacza i stanowi interfejs między jądrem a użytkownikiem.

W dowolnym systemie UNIX, a nawet w systemach Linux, powłoka jest miejscem, w którym administratorzy systemów pracują, aby skonfigurować i zarządzać systemem.

Współczesna terminologia często używa terminu CLI lub interfejsu wiersza poleceń do opisania zachęty powłoki. Jest to zgodne z graficznym interfejsem użytkownika lub graficznym interfejsem użytkownika. Jednak każdy prawdziwy Sysadmin wie, że nie należy używać narzędzi GUI do konfigurowania systemu UNIX / Linux i pracować tylko bezpośrednio w wierszu polecenia powłoki.

Jest to tym bardziej istotne w dzisiejszych czasach, gdy słyszymy, że niektórzy młodsi entuzjaści Linuksa mówią takie rzeczy, jak: „Używam Linuksa, ale tak naprawdę nie nauczyłem się CLI”.

Jak mówi stare przysłowie: „Jeśli nie możesz tego zrobić po znaku zachęty, nie możesz tego zrobić”.

Colinux
źródło
Głosowałem za mówieniem prawdy. no cóż ...
Colinux