UNIXの発明に関する世界観です。UNIXも参照のこと。
UNIXは、たくさんのファイルをシステムやユーザーが整理整頓して管理するために、「ファイル」という発想をしました。
UNIXでは、ファイルは単なるツリー構造のデータではありません。ハードウェアデバイスもファイルとして操作できますし、プログラムもデータファイルとして表されます。設定も、変化するシステムリソースもすべてファイルです。
しかしながら、UNIXは単一ホストでの設計だったため、ネットワーク機能が追加されたりしていくと、すべてをシンプルなファイルで表現するという「UNIXの哲学」とは異なり、ネットワークや分散環境はどんどん複雑怪奇になっていきます。
また、UNIXはコマンドラインのOSで、たくさんのユーザがログインして端末から利用することを念頭においていたため、GUIのX Window Systemは複雑で醜いものになっていきました。
このため、ネットワークの分散環境においてもシンプルなファイルによって表現し、GUIやバージョン管理なども統一的にアクセスできる、Plan 9がベル研のメンバーによって開発されています。
しかしながら、UNIXの「ファイル」という発想は、Windowsなどにも受け継がれた「偉大な発想」だったと言えます。
UNIXの哲学として知られているのは、「ひとつのプログラムではなく、複数のプログラムの関係性によって、システムは力を発揮する」ということです。
これは、むしろ当時のハードウェアの制約から生まれた考え方のようです。当時のミニコンやワークステーションはとても少ないメモリ領域と低速なCPUしか搭載しておらず、複雑な巨大プログラムを使うことは困難でした。そのため、小さなプログラムを連結させて、目的の仕事を行う、ということが考えられたようです。
詳しくは以下のページが参考になります。
UNIXについて言えるのは、ネットワークに長けているということです。
UNIXは、AT&Tが独占禁止法の制限下にあり、パブリックドメインで公開されて、ソースコードなどを自由かつ無償に誰でもアクセスできました。
このことが、IBMの非公開の「中央集権型」ではなく、みんなで標準技術に基づいて(たとえばC/C++などの標準技術を用いて)利用される「オープン系」のアーキテクチャを生み出しました。
このオープン系のアーキテクチャでは、安価なワークステーションコンピュータをネットワークでたくさん繋げて、緩い繋がりの中で、telnetやNFSを用いて外部のホストにアクセスしたり、冗長化やフェイルオーバのように「クラスタでたくさんのマシンが繋がってひとつの大きなシステムになる」というクラスタ環境を生み出したりします。
また、UNIXはマルチユーザ・マルチタスクのOSであり、TCP/IPなどの機能も早くから取り入れられました。サーバー・クライアントのネットワークアーキテクチャでは、サーバがたくさんのプロセス・スレッドを作っても、安定して動く必要がありますが、UNIXはマルチタスクを早くから実現しており、このような安定システムを実現するのが容易でした。
そんなこともあって、UNIXはネットワークと親和性が高く、たとえばBSD UNIXの系譜の末裔にあたるFreeBSDなどでは、効率的なメモリ管理や高度なネットワーク機能をオリジナルで開発しており、「どんなにアクセスが集中してタスクが増えても安定して稼働する」と言われています。WindowsのTCP/IPスタックはBSDのものをベースにして書き直したものが使われています。
また、UNIXは移植性が高いことで知られています。UNIXはC言語という高水準言語で書かれたはじめてのOSであり、ハードウェア依存の部分を除けばコンパイルし直すだけでコードが動作します。
カーネル内部の低レベル処理は例外かもしませんが、UNIXはシステムコールやAPIが標準化されているため、ユーザーランドのプログラムは再コンパイルすればどのようなCPUアーキテクチャのものでも動作します。
FreeBSDと同じBSD UNIXの末裔であるNetBSDは、対応するCPUアーキテクチャが突出して多いことで知られています。また、公開されているコードは綺麗で整ったコードとなるように記述されており、OS技術を学ぶ上でもNetBSDは理想です。Linuxとは違いBSDライセンスを採用しており、学んだからといって自分のコードがGPLに汚染される可能性は低いですし、商用製品のベースとしても優れています。FreeBSD、NetBSDともに、商用製品のベースとして大きな実績があります。