UNIXとは何か?
始めに
ここではUNIXの特徴・歴史・思想などについて解説をしている。
一口にUNIXといっても、様々な種類があり、他のOSとは色々な違いがある。
オペレーティング・システム(OS)
UNIXはオペレーティング・システム(OS)の一種である。
オペレ−ティング・システムとは
コンピュータ上で働くソフトウェアの下請けになって
実際にコンピュータに計算させたり、表示させたりという
作業をするプログラムである。
あらゆるコンピュータには必ずと言って良い程
オペレーティング・システムが入っていて
ワード・プロセッサやCGのソフトがその上で動くようになっている。
UNIX以外の主なOS
- Windows ( 3.1, 95, 98, NT, 2000, Me, XP )
- MacOS ( OS7, OS8, OS9, OS X )
- OS/2
- DOS
- BeOS
- Tron
- VMS
UNIXの思想
UNIXを使う上で、その独特の考え方を知っておくと理解しやすくなる。
簡単にまとめるとUNIXの思想は以下の標語にまとめられる。
- シンプル
- プログラムは小さく・軽く・単機能であること
- 自由
- ユーザーがすべてをカスタマイズができること
- オープン
- プログラムの動作原理・プロトコル・仕様・ソースが公開されていること
これらの事柄は密接に関連している。
シンプルなプログラム・コマンドをユーザーは自由に組み合わせて(カスタマイズして)目的を実行する。
プログラムのソースが公開されていれば、いくらでも改良(カスタマイズ)できるし、
小さなプログラムであれば何が行なわれているか簡単に理解でき、作るのも容易である。
その他、この考え方に沿った具体的な方針・考え方は以下の通り。
- C言語でプログラムを作るのは最後の手段である
なるべく簡単に目的を達成するためにまずシェルスクリプト(コマンドの組み合わせ)でできないかと考える。
それでだめならスクリプト言語で試してみる。
その上で効率その他が問題となるならばC言語などのコンパイル言語を使用する。
- コマンドの組合せでやりたいことを実現する
シェル・スクリプト言語などの機能によってコマンドを組み合わせて複雑な操作を実現する。
(パイプ、リダイレクション、シェルスクリプト)
- プログラムの出力はなるべくシンプルにする
組み合わせて使うのが基本なので他のプログラムに渡すデータは読み込みやすいように余計なものを追加しない。
- プログラムはフィルターにする
これも組み合わせて使うため。
フィルターとはデータ入力が標準入力、出力が標準出力になっているプログラムのことである。
- 必要以上に対話的にしない
対話的なプログラムは他のコマンドと組み合わせるのが難しい。
また対話的なプログラムは大きく複雑になりやすい。
- データはなるべくテキスト
どんなデータが出力されたか人間の目で見てわかるようにする。
テキストならばエディターで作成・修正ができる。
- 効率より移植性
複雑で効率的なプログラムより、シンプルで移植しやすいプログラムを作る。
しかし、現実にはUNIXのソフトウェアも重厚長大なものが多い。
そのようなプログラムを使用している限りWindowsなどとの根本的な違いは無くなってしまう。
UNIXの特徴
ここではWindowsやMacintosh(OS9)などのOSと比べた特徴をあげてみよう。
- マルチタスク
最近はWindows・MacでもマルチタスクがサポートされるようになったがUNIXは元々完全なマルチタスクのOSである。
- マルチユーザー
1台のマシンに同時に複数のユーザーがログインできる。
- 古くから使われているので、安定している。
そして、長い期間使われていたので膨大なノウハウの蓄積がある。
- コマンドの組合せで、複雑な操作ができる。
初心者にはとっつき難いかもしれないが慣れれば慣れる程、
使いやすくなってくる。
- 色々な意味で、自由度が高い。
多くのプログラムにおいてカスタマイズの自由度が非常に高い。
- プログラムを作る環境が整っている。
UNIXでは開発環境が最初からそろっている。
(一部、商用UNIXを除く)
- ネットワークに強い。
インターネットなどのサーバーとして良く使われている。
- (Windowsなどに比べて、今のところ)アプリケーションの種類は少ない。
特にワードプロセッサ、表計算やゲームなど。
- UNIXではユーザーがコンピュータのことを良く知っているという前提に立っている
Windows・Macのソフトはブラックボックス化していてユーザーに内部を知らせないし、
ユーザーはコンピュータ・プログラムの内部構造・原理などは知る必要は無いと考えられている。
UNIXの種類
一口にUNIXと言っても実際には様々な種類が存在する。
大きく分けると
の2種類の系統がある。
(歴史的にこの2つに分かれていて、使用できるコマンドなども違っていたが、最近のUNIXは両方の機能が採り入れられているものが多い)
コマンドの種類や使い方も少し違うところがあるが、大体は同じである。
現在のところ主なUNIXの種類としては以下のものがある。
- Solaris
- SUNのワークステーションに入っている。( System V )
- Sun OS
- 古いSUNのワークステーションに入っている。( BSD )
(現在でも使われている。)
- IRIX
- SGIのワークステーション( Indy, O2 など)に入っているのがこれである。
( System V )
- AIX
- IBMのワークステーションに入っている。( System V )
- HP-UX
- HPのワークステーションに入っている。( System V )
- Digital UNIX
- DECのワークステーションに入っている。( System V )
- SCO UNIX
- Santa Cruz Operation社というところが販売している。( System V )
- FreeBSD, NetBSD, OpenBSD
- ソース付のフリーのOSとして普及している。
インターネットのサーバーとしてよく使われている。( BSD )
- Linux
- これもソース付のフリーのOSとして普及している。
簡単なインストールについての説明は「UNIX(Linux)をインストールする」を見よう。
- INTERIX
- WindowsNT上で動作するUNIX互換のシステム
(3Bの教室で使っているのがこれである)
UNIXの歴史
UNIXはケン・トンプソンとデニス・リッチーによってBell研究所においてMULTICSを参考にして作られた。
UNIXという名前はブライアン・カーニハンがMULTICSをもじってUNICS(UNiplexed Information and Computing System)と呼び始めて、後にUNIXと言われるようになった。
1969 | 最初のUNIX誕生(PDP-7上にマシン語によって作成) |
1971 | PDP-11に移植(V1) |
1973 | カーネルをC言語で記述(V4) |
1974 | V5 |
| BSDの開発開始(カリフォルニア大学バークレイ校) |
1976 | Bell研以外に配布(V6) |
1978 | V7 |
1979 | XENIX(マイクロソフト) |
| 3BSD(仮想記憶実装) |
1980 | 4.0BSD |
1981 | 4.1BSD(Cシェル) |
1982 | SystemIII |
| サンマイクロシステムズ社誕生 |
1983 | SystemV R1 |
| 4.2BSD開発(ネットワーク機能) |
1984 | ULTRIX(DEC) |
| Xウィンドウの開発開始(MIT) |
1986 | 4.3BSD |
1987 | X11R1開発 |
1988 | OSF(UNIX統合化) |
1989 | SystemV R4(SVR4) |
1990 | X11R4開発 |
| OSF Motif |
| IRIX 4.0.5 |
1991 | BSD Net/2 |
| Linux 0.01 |
1992 | 386BSD |
1993 | NetBSD 0.8 |
| FreeBSD 1.0 |
1995 | OpenBSD |
参考
Home | Contents
Mail