すべてがファイルです – ウィキペディア

before-content-x4

すべてがファイルです (英語 すべてがファイルです )UNIXとその子孫の定義プロパティの1つを説明するため、ファイルシステムを介した単純なバイテストフローとして、ファイル、ディレクトリ、デバイス(ハードドライブ、キーボード、プリンターなど)、さらには解釈とネットワーク接続などの入力/出力リソースを入力/出力リソースを説明します。 [初め]

after-content-x4

このアプローチの利点は、同じツールとプログラミングインターフェイスを使用して、これらすべてのリソースにアクセスできることです。ファイルが開かれると、プログラムはカーネルからファイルスクリプトを受信します。後続のすべての操作について、これは入出力インターフェイスとして機能します。ファイルスクリプトは匿名のパイプやネットワークソケット用にも作成されているが、パスがないため、原則はしばしば すべてがファイル記述子です ( ‘すべてがファイルスクリプトです’)または、linus torvaldsに、 すべてがバイトの流れです ( ‘すべてがbytestromです’) [2] 呼び出されました。

さらに、システムの条件とプロセスに関する情報を提供する多くの仮想ファイルシステムと擬似システムがあります。

この用語は、ファイルを扱う際にunixoidシステムの異なる性質のキーワードとして一貫して使用されます。ただし、それは明確に区切られておらず、上記のように、使用に応じてさまざまな側面をターゲットにしています。上記のプロパティは、今日のUNIXタイプのオペレーティングシステムでのみ見つけることができますが、広く すべてがファイルです Uniixはまた、現在遍在している革新を引き受けました。次のセクションでは、側面を詳細に扱います。

ディレクトリ構造は、ファイルがパスを受け取る均一で階層的に構造化された名前の部屋であり、その下で
名前が利用可能です。ディレクトリは、含まれるすべてのディレクトリエントリをリストする特別なファイルです。その中には、両方のファイルと再びあります。この結果のディレクトリ階層は、さまざまなデバイスに拡張できます。この形式では、ファイルシステムはすでにUNIXの先駆者であるマルチスに含まれていました。 [3] このようなディレクトリ構造は、特定の逸脱がありますが、現在広まっています。たとえば、MS-DOSとWindowsの場合は均一ではありません。パスには、デバイス固有のドライブレターも含まれています。

名前ルームは、名前のパイプでも使用されており、既存のファイルが2つのプロセスの会議ポイントとして機能する、広範囲にわたるシステムV-IPCイン​​ターフェイスの基礎として機能します。 [4] POSIXアナログであるPOSIX IPC名は、ファイルに基づいていません。 [5]

[6] 今日はもはや広まっていない原則を読むことは、UNIXの下のファイルがバイトの単純なラインナップで構成されているという革新を指し、さらに、その形式に制限はありません(当時のデータレコード指向のファイルシステムとは対照的です)。 [6] 目的は、デバイスの詳細をレベルアップし、メモリ組織から抽象化し、ユーザースペースにできるだけ多くの決定を残すことでした。

「[…] Unixカーネルは、ファイルアクセスメソッド、ファイルの処分、ファイル形式、ファイルの最大サイズ、スプール、コマンド言語、論理レコード、物理的な記録、論理ファイル名、論理ファイル名、複数の文字セット、オペレーターのコンソール、オペレーター、ログイン、またはログアウトをサポートしていません。これらの多くは、特徴ではなく症状です。これらの多くは、カーネルをツールとして使用してユーザーソフトウェアに実装されています。」

「[…] Unix-Kernelは、ファイルアクセスメソッド、ファイル位置、ファイル形式、最大ファイルサイズ、スプール、コマンド言語、論理データ、物理データレコード、論理ファイル名の割り当て、論理ファイル名、複数の文字セット、オペレーターコンソール、オペレーター、受け入れまたは退学をサポートしていません。これらの多くは、特性よりも症状が多い。これらの多くは、カーネルをツールとして使用するユーザーソフトウェアに実装されています。」

このファイルの理解はもちろん今日の問題であり、ほとんどの主流のオペレーティングシステムで見つけることができます。

after-content-x4

ファイルを介してデバイスを利用可能にするというアイデアは、Dennis Ritchieから来ています。 [8]

  1. マッハトガレル: Linuxの紹介。初心者のガイド 。第2版​​。 Fultus、2007、ISBN 1-59682-112-4、セクション3.1.1.1。
  2. Linus Torvalds: SignalFD V2 – SignalFDコア。 2013年1月17日にアクセス テンプレート:Web/一時を引用します
  3. R. C.デイリー、ピーターG.ノイマン: 二次ストレージ用の汎用ファイルシステム。 の: AFIPS ’65(秋、パートI)。 ラスベガス1965、S。213–229( オンライン )。
  4. ご参照ください ftok() ライブラリ機能
  5. Marc J. Rochkind: 高度なUNIXプログラミング。 第2版​​、Addison-Wesley、2004年、第7.6.2章。
  6. a b ブライアン・W・カルニガン、ロブ・パイク: UNIXプログラミング環境。 プレンティスホール、1984年、第2章。
  7. ケン・トンプソン: UNIX実装。 の: ベルシステムの技術。 1978、第57号、pp。1931–1946。
  8. デニス・リッチー: UNIXタイムシェアリングシステムの進化。 の: 言語設計とプログラミングの方法論。 25–35、スプリンガー、ベルリン/ハイデルベルク1980、( オンライン )。

after-content-x4