「UNIXとは何か」の版間の差分

提供: UnixClassWiki
移動先: 案内検索
(UNIXの定義)
(UNIXの思想)
49行目: 49行目:
 
ているのでしょうか。ここはDon Libes と Sandy ResslerのLife with Unix本
 
ているのでしょうか。ここはDon Libes と Sandy ResslerのLife with Unix本
 
を参考にしてまとめてみます。
 
を参考にしてまとめてみます。
 +
  
 
=== UNIXの思想 ===
 
=== UNIXの思想 ===
 +
  
 
* 小さいことは美しい --- 問題は小さく分割し、個々に解決する小さいコマンドを使い、それを組み合わせて全体の問題を解決する。
 
* 小さいことは美しい --- 問題は小さく分割し、個々に解決する小さいコマンドを使い、それを組み合わせて全体の問題を解決する。
 +
  
 
* 20%の労力で80%を解決する --- すべての問題を万能に解決するようなシステムを目指さない。労力少なく、おおよその問題を解決する。
 
* 20%の労力で80%を解決する --- すべての問題を万能に解決するようなシステムを目指さない。労力少なく、おおよその問題を解決する。
 +
  
 
* 単純に保て --- 単純であるべきものは単純にしておく。
 
* 単純に保て --- 単純であるべきものは単純にしておく。
 +
  
 
こんな風に考えるのがUNIX流だといえるでしょう。実はこれらは別にUNIX独自
 
こんな風に考えるのがUNIX流だといえるでしょう。実はこれらは別にUNIX独自
65行目: 70行目:
 
(Stupid)" は、エンジニアの口伝伝承であるマーフィーの法則の1つとして知
 
(Stupid)" は、エンジニアの口伝伝承であるマーフィーの法則の1つとして知
 
られています。
 
られています。
 +
  
 
ただ、これが現在のLinuxにも当てはまるかは、筆者は少々疑問です。今の
 
ただ、これが現在のLinuxにも当てはまるかは、筆者は少々疑問です。今の
71行目: 77行目:
 
(流し台)になっています。小さいことは美しいとか、少なくとも単純である
 
(流し台)になっています。小さいことは美しいとか、少なくとも単純である
 
べきものは、単純であるという部分はかなり怪しくなってきています。
 
べきものは、単純であるという部分はかなり怪しくなってきています。
 +
  
 
このように、どこまでがオペレーティングシステムなのかという問題と同じく、
 
このように、どこまでがオペレーティングシステムなのかという問題と同じく、
78行目: 85行目:
 
:'''調べてみよう'''
 
:'''調べてみよう'''
 
:みんなそれぞれのUNIXの定義があるはずです。色々なUNIXの定義を見つけてみよう。また自分なりのUNIXの定義をしたならば、どんな定義になるだろうか。
 
:みんなそれぞれのUNIXの定義があるはずです。色々なUNIXの定義を見つけてみよう。また自分なりのUNIXの定義をしたならば、どんな定義になるだろうか。
 
 
  
 
== 参考資料 ==
 
== 参考資料 ==

2007年11月27日 (火) 03:20時点における版

UNIXとは何か

UNIXの定義

UNIXは1969年にベル研究所のKen Thompson、Dennis Ritchieらが作ったオペレー ティングシステムの名前です。最初はわかりました。では、「現在のUNIXの定 義は?」と聞かれた場合、どのような答えが帰ってくるでしょうか。


  • 1969年に作られたUNIXを源流にもつもの


これはなかなかわかりやすい定義です。ほとんどすべてのUNIXの仲間と呼ばれ るオペレーティングシステムに当てはまります。しかしながら、Linuxはオリ ジナルのUNIXを源流に持ちません。Linuxは最初Linus Torvaldsがゼロから書 き始めたものです。しかしだからといってUnixらしいLinuxは、やはりUNIXの 仲間なのです。


  • (現在The Open Groupが保持している)商標の利用許可を過去に得ていたもの


  • The Open Groupの定めるUNIX 03仕様を満たし、それをThe Open Groupが認めたもの[1]


UNIX 03とは、The Open Groupが定めるThe Single UNIX Specification規格の 2003 年度版です。これを取ると商標としてのUNIX(R)を利用できるようになる ことはあってもUNIXの定義とはいえません。なぜならばFreeBSDやLinuxは、 UNIXでなくなってしまいます。


  • IEEE Std 1003.1 (POSIX 1003.1) 準拠あるいはISO/IEC 9945 準拠のもの


IEEE Std 1003.1 とISO/IEC 9945は内容的に同じものですが、これらの仕様に 準拠したものがUNIXであるといえば、技術的な意味において間違いはありませ ん。しかし、何か足りません。


調べてみよう
IEEE Std 1003.1 とはどんな規格なのか調べてみよう。


  • UNIXの思想や文化を継承するもの


UNIXの思想や文化を継承するものといいますが、その思想や文化とは何を指し ているのでしょうか。ここはDon Libes と Sandy ResslerのLife with Unix本 を参考にしてまとめてみます。


UNIXの思想

  • 小さいことは美しい --- 問題は小さく分割し、個々に解決する小さいコマンドを使い、それを組み合わせて全体の問題を解決する。


  • 20%の労力で80%を解決する --- すべての問題を万能に解決するようなシステムを目指さない。労力少なく、おおよその問題を解決する。


  • 単純に保て --- 単純であるべきものは単純にしておく。


こんな風に考えるのがUNIX流だといえるでしょう。実はこれらは別にUNIX独自 の思想ではなく、既に社会にある考え方です。「小さいことは美しい」は経済 学者 E. F. Schumacher の著書"Small Is Beautiful : Economics as if People Mattered"の考え方です。「20% / 80%」はイタリアの経済学者 V. Paretoのパレートの法則です。「単純に保て」は"Keep It Simple (Stupid)" は、エンジニアの口伝伝承であるマーフィーの法則の1つとして知 られています。


ただ、これが現在のLinuxにも当てはまるかは、筆者は少々疑問です。今の Linuxのカーネル一つ取っても、たくさんの参加者によって組み込まれた、非 常に多肢に渡る色々な機能を持っています。何でも投げ込むキッチンシンク (流し台)になっています。小さいことは美しいとか、少なくとも単純である べきものは、単純であるという部分はかなり怪しくなってきています。


このように、どこまでがオペレーティングシステムなのかという問題と同じく、 UNIXの定義もどこまでがUNIXなのかの境界線がわかりづらい問題なのです。


調べてみよう
みんなそれぞれのUNIXの定義があるはずです。色々なUNIXの定義を見つけてみよう。また自分なりのUNIXの定義をしたならば、どんな定義になるだろうか。

参考資料

  1. UNIX® System Certification