next up previous contents
Next: UNIX はマルチユーザー Up: シェルの働き(コンピュータはどうやって動くのか) Previous: シェルの働き(コンピュータはどうやって動くのか)

シェルの話

UNIX のもっとも基礎で重要なものがこのシェル(shell)です。

シェルつまり貝殻は, UNIX のカーネル(核:kernel) をスッポリ覆っています。 UNIX のカーネル(kernel)は init というプロセスとしか話をしません。 プロセスは今作動中のプログラムのことです。 でも, システムコールという カーネルに対する要求がプロセスから来ると そのプロセスの要求に合わせた働きをします。 ずいぶん多いシステムコールを処理するために UNIX の中では 一番の働きものです。しかし,残念なことに 人間と直接話をすることができないのです。 そこで,シェルはこの UNIX のカーネル(kernel)とユーザーに間に立って ユーザーのやりたいことをカーネルのわかるように翻訳し, さまざまな計算環境を提供するために働くプログラムです。 もっとシェルのことについて知りたくなったら UNIX の本[5]を読みましょう。

UNIX のカーネルに対しては, 管理者がユーザーの共通の環境を作るために さまざまな共通の設定を行ってくれていますので, ほとんどの場合,ユーザーが設定する必要はありません。 しかし、 管理者が設定することは動作するというレベルです。

シェルはユーザーとコンピュータの間を取り持つプロセスであるので, ユーザーの数だけ,また、それ以上プロセスとして存在します。 各ユーザーがそれぞれ別のシェルを使っているわけです。 そのため,それぞれ自分の環境のために ユーザーはシェルの環境を使いやすく, 人間的で暖かみのある環境に作りあげるために 自分で変えるものなのです。 でも,1から設定をするのは初心者では無理ですので, 親切な管理者はユーザーのために最低限の簡単な設定をしておいてくれます。 この他にもいろいろな環境を決める必要があります。 その重要なものの1つが シェルの環境ということです。 この環境の設定の方法はここでは説明はしません。 管理者の作ってくれた基本的な設定の元で以下の話をすることにします。



Kishimoto Ken
平成20年3月1日