procをファイルシステムと呼ぶのはなぜですか?

procをファイルシステムと呼ぶのはなぜですか?

ファイルprocシステムを使用すると、カーネルはLinuxシステムで実行されているすべてのプロセスに関する情報を渡すことができます。

なぜprocファイルシステムと呼ばれるのですか?これはext4実行中のプロセスに関する情報を含むファイルの集まりです。

答え1

/procopendir()これは、ユーザープロセスがおなじみのシステムコールとライブラリ呼び出し(およびreaddir())を使用してchdir()ナビゲートできるため、ファイルシステムですgetcwd()。でもopen()、に表示される多くread()close()「ファイル」を処理します/proc。ほとんどの意図とほとんどすべての目的のために/procファイルシステムですが、そのファイルは特定のディスクブロックを占有しません。

私たち全員が「ファイルシステム」という用語の現在の定義を明確にする必要があると思います。 ext4の文脈で「ファイルシステム」を書くとき、私たちはおそらくディスクブロックレイアウト、ディスクのどこかにあるディスクブロックのメタデータ情報仕様と処理コードの組み合わせについて話します。ディスクのレイアウト。のような文脈では、私たちは何か/usrを命名する方法についての理解や共有された概念について書いています。 「ファイルシステム」という用語の2つの用途は実際には非常に異なる。指摘したように、実際には2番目の「ファイルシステム」です。/tmp/var/run/proc

答え2

情報を含むファイルの領域だけです。

しかし、それはファイルシステムの目的です。はい。ファイルシステムは書き込み可能または永続ストレージに常駐する必要はありません。

procfs注:(カーネルの擬似ファイルシステムの実装)と既存のマウントポイントの間に違いがあります/proc。理論的にはどこにでも設置できますが、procfsそのような場合はまれです。このため、人々はしばしば/proc自分が実際に意味するものについて話しますprocfs

procfsprocfsのファイルは、通常のファイルシステム操作によって生成されず、カーネルの他の場所で発生する状況に応じてファイルシステム実装自体によって追加および削除されるため、擬似ファイルシステムと呼ばれます。

答え3

ファイルシステムで使用されているメカニズムを介してアクセスできるようにデータが設定されている場合は、全体をファイルシステムと呼ぶことができます。

関連情報