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

提供:UnixClassWiki
ナビゲーションに移動 検索に移動
編集の要約なし
3行目: 3行目:




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


12行目: 11行目:




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




24行目: 20行目:




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




33行目: 26行目:




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




45行目: 37行目:




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


61行目: 52行目:




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




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




実際 UNIXをベル研で開発していた人たちはUNIX System Vの時にはUNIXを捨て、UNIXのオリジナルのアイデアを徹底させ、
実際 UNIXをベル研で開発していた人たちはUNIX System Vの時にはUNIXを捨て、UNIXのオリジナルのアイデアを徹底させ、さらに新しく展開したPlan 9というオペレーティングシステムを開発しています。
さらに新しく展開したPlan 9というオペレーティングシステムを開発しています。むしろこちらの方がUNIXのオリジナルコンセプトに
むしろこちらの方がUNIXのオリジナルコンセプトに忠実だと筆者は考えるほどです。
忠実だと筆者は考えるほどです。であれば、現在UNIXと呼ばれているもの自体が既にUNIX的ではなくなってしまっているという
であれば、現在UNIXと呼ばれているもの自体が既にUNIX的ではなくなってしまっているという不思議な結論に達してしまいます。
不思議な結論に達してしまいます。




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




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


=== ここまでの歴史 ===
=== ここまでの歴史 ===

2013年12月23日 (月) 06:12時点における版

UNIXとは何か

UNIXの定義

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


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


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


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


実際 UNIXをベル研で開発していた人たちはUNIX System Vの時にはUNIXを捨て、UNIXのオリジナルのアイデアを徹底させ、さらに新しく展開したPlan 9というオペレーティングシステムを開発しています。 むしろこちらの方がUNIXのオリジナルコンセプトに忠実だと筆者は考えるほどです。 であれば、現在UNIXと呼ばれているもの自体が既にUNIX的ではなくなってしまっているという不思議な結論に達してしまいます。


このように、どこまでがオペレーティングシステムなのかという問題と同じく、UNIXの定義もどこまでがUNIXなのかの境界線がはっきりとしない問題だと言えるでしょう。


調べてみよう
色々なUNIXの定義を見つけてみよう。また自分なりのUNIXの定義をしたならば、どんな定義になるだろうか。

ここまでの歴史

UNIXの歴史に関しては Éric Lévénez氏が管理するUNIX Historyというサイトを参照してください。UNIXの過去から現在までにいたるまでのタイムラインチャートなど色々と参考になる資料があります。

参考資料


目次