全てのリソースはファイルである
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/21 14:05 UTC 版)
「Plan 9 from Bell Labs」の記事における「全てのリソースはファイルである」の解説
UNIX以前、多くのオペレーティングシステムはそれぞれのデバイスにアクセスするのに、それぞれ異なる機構を用意していた。例えば、ディスクドライブにアクセスするAPIは、シリアルポートでデータ送受信をするためのAPIとは全く異なるし、プリンターにデータを送信するAPIとも全く異なっていた。 UNIXはそのような差異をなくそうとし、全ての入出力をファイル操作でモデル化しようとした。そのため、全デバイスドライバが制御手段として read および write 操作に対応する必要に迫られた。こうすることで、mvやcpなどのユーティリティで、実装の詳細を気にすることなくデバイスからデバイスにデータを転送することができるようになった。しかし、UNIXでは多くの重要な概念(例えば、プロセス状態の制御など)はファイルにきれいにマッピングされなかった。ソケットや X Window System といった新たな機能が追加されたとき、それらはファイルシステムの外に存在するようになった。新たなハードウェア機能(ソフトウェアがCDのイジェクトを制御するなど)も、ioctlシステムコールなどのハードウェア固有制御機構を使うようになった。 Plan 9研究プロジェクトは、ファイル中心の見方への回帰を目標とし、それ以外の手法を排除した(その一部は、外のUnixへ与えた影響が限定的であった、ベル研版UNIXのバージョン8, 9, 10から引き継がれたものである)。Plan 9のプログラムから見れば、ネットワークやユーザインタフェースのリソース(ウィンドウなど)も含めたあらゆるリソースが階層型ファイルシステムの一部となっており、それ以外の特別なインタフェースは使わない。
※この「全てのリソースはファイルである」の解説は、「Plan 9 from Bell Labs」の解説の一部です。
「全てのリソースはファイルである」を含む「Plan 9 from Bell Labs」の記事については、「Plan 9 from Bell Labs」の概要を参照ください。
- 全てのリソースはファイルであるのページへのリンク