UNIX の基本構造概略

OS

OSとは、様々なアプリケーションを作ったり動かしたりするために、 計算機の様々な資源(CPU、メモリ、記憶装置、ネットワーク装置等)を管理し、 ハードウェアとアプリケーションとの間を取りもつソフトウェアです。

ユーザに対するサービス機能

  1. プログラムの実行機能
    プログラムの実行、開発、デバック、マルチタスク機能、マルチユーザ機能等
  2. 入出力動作機能
    各入出力装置をユーザが利用できるようにする
  3. ファイル操作機能
    ファイルの生成、更新、消去、検索等
  4. エラー検出機能
    未定義のコマンドやファイル名の検出とエラーメッセージの表示など
  5. セキュリティ機能
    システムへのアクセス、ファイルシステムへのアクセスなど

システムに対するサービス機能

  1. 資源の割り当て機能
    プロセス、メモリ、外部記憶装置、入出力装置の管理
  2. アカウンティング機能
    ユーザ毎のCPU利用時間、メモリ消費量、I/O 動作状況の把握、記録
  3. プロテクト機能

OSとしての UNIX は、計算機のハードウェアに近い核心部分のカーネル、 ライブラリ、ユーティリティ、 ユーザインターフェイスのシェル(外殻)のプログラム群からなります。 ユーティリティ、ライブラリルーチンは、シェルコマンドによって起動され、 コマンドの内容を実行する処理プログラム群です。

カーネル(kernel)

カーネルとは UNIX システムの核であり、システムが起動する時に読み込まれ、 システムの全ての資源を管理し,一貫した形で利用者に提供します。

カーネルが提供する機能

  1. プロセスの管理
  2. ファイル・システムの運用管理
等があり、デバイスドライバによってハードウェアシステムと結び付けられています。 また、第2のシェルのようなものでもあり、 システムコール(新しいプロセスの開始と実行、実行中プロセスの停止や凍結、 ファイルのオープンとクローズ、ファイルモードの変更、など) の受け付け窓口としての役割をもっています。

シェル(shell)

シェルは1つのプロセスとして実行されます。

UNIX のコマンドインタプリタ (ユーザからの命令を表す文字列を受けとり、 それに対応する動作を起動するプログラム)で、 UNIX システムのカーネルとユーザーとのインターフェイス的な役割 (ユーザからのコマンド実行要求を UNIX システムに伝達する役割) を果たしています。シェルコマンドを組み合わせることによって、 プログラミング言語としても利用できます。

シェルには種類があり、Bourne シェル(sh)、c シェル(csh)、 korn シェル(ksh)、tcsh、bash、zsh 等があります。 基本的なシェルはBourneシェルで、その他はそれの改良・機能追加版です。

ネットワーク

UNIX の通信サービスには
  1. 1つの UNIX システムでのユーザ間通信(メールなど)
    直接結線や電話線などを利用した

  2. 遠隔 UNIX システムとの通信
    ユーザ間での電子メール、遠隔 UNIX システム上でのコマンド実行、 遠隔 UNIX システムとのファイル転送などがあります。