ターミナル(端末)はMacOSに付属するアプリケーションでもあるが、これはシェルとよく混同されるが、まったく別のソフトウェアである。
ターミナルは入出力の画面を提供するだけのソフトウェアで、そのなかでシェルを使用し、コマンドをカーネルが実行するという流れになる。
カーネルは、OSの中核であり、アプリケーションとハードウェアのデータ処理の架け橋である。
つまりシェルはカーネルのインターフェースとなっているソフトウェアである。
このような構造になっている理由はさまざまであるが、具体的には下記のようなものである。

  • シェルを自分好みのものにすることができるシェル
  • シェルがOS間の違いを埋めることができる
  • シェルが高負荷の状態になっても、カーネルへの影響を最小限に抑えられる