Unixがオブジェクト指向であるか、少なくとも組織化できない理由

Unixがオブジェクト指向であるか、少なくとも組織化できない理由

Unixではなぜオブジェクトとして表現できないのですか?たとえば、ファイルはオブジェクト型ですが、ファイルだけです。これは標準的なインターフェイスを提供するのに役立つことを知っていますが、実際にはそうではありません。ファイルを読み取っても有用な情報(デバイスファイルなど)が表示されない場合、ファイルの意味は何ですか?私は、デバイスファイルがファイルではなくディレクトリ内のオブジェクトである可能性があると思います。その後、デバイスオブジェクトは、cgdiskそのようなコマンドを実行せずに自分自身を変更したり、自分に関する情報を提供したりする独自の方法を提供できます/dev/sda.partition1.get_size()。私はこれがオプションを渡すためのさまざまな方法を使用して異なるタスクを実行する単一のディレクトリ(/usr/bin)に複数のコマンドを置くよりも理論的に優れていると思います。このアイデアに明らかに間違った点があると申し訳ありませんが、この場合にはオブジェクトとあまり関係のない質問があります。便利な名前のディレクトリにコマンドを設定できないのはなぜですか?たとえば、/CMDs/devices/list各コマンドを/ usr / binに配置する代わりに、または同じコマンドを使用できます/CMDs/output/echo hello

答え1

Unixセマンティクスは30年前に設計されており、「すべてがファイルです」に基づいています。これはバークレーのソケットのように少し失われましたが、まだほとんど動作します。

結果は「これはリソースなので、好きなように使用できます」です。もっとあります柔軟オブジェクト指向の世界観と同じではありませんが...

したがって、ディスクはファイル(/dev/sda)です。各パーティションはファイル(/dev/sda1)です。

しかし、何はいパーティション?それは単なるデータ構造です。 「ディスクドライバ」がこれを実施するのはなぜですか? Solaris SPARC ディスクは Microsoft DOS ラベルを使用せず、そのパーティションはまったく異なります。

「すべてがファイルです」形式はより柔軟です。オペレーティングシステムの制約なしに望むものは何でもできます。

関連情報