なぜ「シェル」という言葉がコマンドラインインターフェイスを表すのに使用されたのですか?


28

「シェル」という用語に興味があります。私はそれが何であるかを知っていると思いますが(「シェル」と「ターミナル」の区別はまだあいまいですが)、なぜこのタイプのプログラムを説明するために「シェル」という言葉が選ばれたのですか?

これは重要ではないように思えるかもしれませんが、通常、単語の選択が私を混乱させるとき、それは私の理解のギャップを指しています。


ターミナルは、デバイスまたはI / Oパイプです。シェルは、ターミナルからユーザー入力をリアルタイムでインタラクティブに受け取り、それに基づいて処理を実行する実行可能プログラムです。直接的なインタラクティブな使用を提供しない「シェル」は、技術的には何らかの種類のスクリプトインタープリターです。
ローレンス

回答:


8

Multicsの用語集は、手掛かりを提供することができます。シェルは次のように定義されます:

Multicsコマンドプロセッサは、以前はシェルと呼ばれていました。このプログラムには、リスナーによる実行のためのコマンドラインが渡されます。行をコマンド名と引数に解析し、コマンドを見つけて開始し、PL / I文字列である引数でコマンドプログラムを呼び出します。cu_ $ set_cpを呼び出すことにより、システムが提供するデフォルトのシェルをユーザー提供のプログラムに置き換えるのは簡単です(略語を参照)。Unixシェルには、Multicsの意味でのシェルとリスナーの両方の概念が含まれています。

シェルリスナーの関係は、語源的にも比phor的にも意味があります [1]。

[1]「シェルは権威、言論、聴聞の象徴であるため、預言の象徴である...」



10

http://en.wikipedia.org/wiki/Thompson_shell#Historyから

「コマンドラインインタープリターの「シェル」という名前と、シェルをオペレーティングシステムカーネル外のユーザープログラムにするという概念は、Unixの前身であるMulticsで導入されました。」

ウィキペディアのウサギの穴のさらに下で、「ルイプージン、Multicsで使用されるコマンド言語のシェルという用語を導入しました」

完全には読んでいませんが、ここに書いた彼の回答があなたに答えを与えるかもしれません:http : //www.multicians.org/shell.html

編集:確かにそれは説明されていません。彼は単に用語を「コイニング」しました。あなたが望んでいた面白い話ではありませんでしたか?


3
物足りないが、それは時々それが行く方法です。
エリックウィルソン

10

たぶんそれは表面であり、ユーザーから内部カーネルを保護しているからでしょうか?そのため、カーネルはシェル内の真珠になります。


シェルは、ユーザーをカーネルから保護する保護層であるといつも聞いていました。
-Glorytoad

1

答えはここにあるようです:

歴史的注記:明らかに、元のMulticsシェル(センス1)は、シェル(センス3)であるため、そう呼ばれていました。ユーザープログラムは、個別のプロセスを起動するのではなく、プログラムを独自のコードに動的にリンクし、サブルーチンとして呼び出してから、戻り時に動的にリンク解除することで実行されました。VMSコマンドインタープリターは、まだこのようなことをしています。

- ウィキペディア

つまり、「シェル」は、Unixの前身であるMulticsがプログラムを実行した方法の現実世界の良い例えでした。


ウィキペディアはソースではありませんが。Wikipediaを1つとして使用すると、Wikipediaはソースとしてサイトを使用し、Wikipediaはそれ自体をソースとして使用します。現状では、これは純粋な推測です。
Evi1M4chine

0

私が理解しているように、「シェル」は、現在「プライマリユーザーインターフェース」と呼ぶものの古い用語です。現代の類似した用語は「デスクトップ環境」です。これは、ほとんどすべての最新システムがデスクトップのメタファーを使用しているためです。


1
多くの重複がありますが、それは正確ではありません。すべてのシェルはユーザーインターフェイスです。しかし、すべてのユーザーインターフェイスがシェルではありません。シェルは、すべてのものを取り囲み、すべてがそこから始まるメインユーザーインターフェイスです。これは、オペレーティングシステムのメインユーザーインターフェイスです。
Evi1M4chine 16

-2

カーネルはシステムの中核であり、シェルはカーネルを囲み、カーネルとユーザーの間のインターフェースです。

UNIXシステム内では、Linuxシステムでも、シェルはシステム管理者がシステムを構成および管理するために働く場所です。

現代の用語では、多くの場合、CLIまたはコマンドラインインターフェイスという用語を使用してシェルプロンプトを記述しています。これは、GUIまたはグラフィカルユーザーインターフェイスに従います。ただし、実際のシステム管理者は、GUIツールを使用してUNIX / Linuxを構成することはできず、シェルコマンドプロンプトでのみ直接動作することを知っています。

これは、「Linuxを使用しているが、実際にはCLIを学んでいない」など、Linuxの熱狂的なファンが言うようになった今、さらに重要になっています。

古いことわざにあるように、「シェルプロンプトで実行できない場合は実行できません。」


私は真実を伝えるために投票を得ました。ああ
...-Colinux
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.