blog

シェル①

Linux講座

2015.02.25

シェル①

さてさて、前回からの続きでございます。

シェルで動作する環境変数について学んでおりましたが、
じゃあその『シェルってなぁに?』という部分をお勉強していきたいと思います。

シェルの説明を行う前に、

まずLinuxが動作する仕組みを簡単に説明します。

皆さんが操作しているコンピューター(PC)は大きく分けると二つの部分に分かれます。
ハードとソフトです。
この辺はゲーム機器に置き換えると馴染みのある言葉ですね。

ハード=ゲーム機本体 

ソフト=ハードで動かすゲームソフト

そして、そのソフトウェアでも【基本ソフトウェア】と呼ばれる部分があります。

皆さんがよく耳にする言葉に置き換えるならば『OS』ですね。
(因みに、もう一つのソフトウェアは【応用ソフトウェア】と呼ばれますが今回は割愛しますっ) 

そしてその基本ソフトウェア(OS)は更に二つに分かれます。それをそれぞれ
『カーネル』と『ユーザランド』といいます。
カーネル…そのOSの中心核ともいえる部分です。
ハードウェアの違いを吸収して、プログラムがどのハードウェア上でも同じ様に動作させる役割があります。

ユーザランド…簡単に言ってしまえば、基本ソフトウェアのカーネル以外の部分の事です。
【シェル】はこのユーザランドに含まれます。

カーネルの部分というのは通常ユーザは直接制御(操作)出来ません。
何故かと言いますと、先も説明した通り、カーネルはOSの中心核の部分です。
ここで行われる処理はOS本体に作用します。
保護されているメモリ空間をアクセスする場合なんかもあります。
こういった動作というのは、バグや異常操作によってシステムがクラッシュしてしまう危険が満載です。
ですのでユーザランド(シェル)が仲介役を行い、その危険を回避しているのです。
我々が入力するコマンドをシェルが通訳のような役割を果たしてカーネルに伝え、
カーネルの出力結果をシェルが我々に理解できる言葉に戻してくれる。

ユーザから見るとカーネルを包んでいるshell(貝)のように見えるので名づけられたそうです。

OSの中でシェルはそんなお仕事をしてくれています。
シェルさんありがとう。

そしてシェルには種類がありまして、それぞれに特性があります。
が、ちょっと長くなってしまったので
それぞれのシェルの特性についてはまた次回~。

SHARE

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.