5
Linuxは実際のファイルと存在しない(例:デバイス)ファイルをどのように区別しますか?
これはかなり低レベルの質問であり、尋ねるのに最適な場所ではないかもしれないことを理解しています。しかし、それは他のどのSEサイトよりも適切であるように思えたので、ここに行きます。 Linuxファイルシステムでは、いくつかのファイルが実際に存在することを知って/usr/bin/bashいます。たとえば:は存在するファイルです。しかし、(私の知る限りそれを理解したように)、いくつかは、実際よりのような存在とされていない仮想ファイルを、例えば:/dev/sda、/proc/cpuinfoなど私の質問は(彼らは2つですが、あまりにも密接に別の質問であることを関連します): 読み取りコマンド(またはそのような)が発行されたときに、これらのファイルが本物である(したがって、ディスクから読み取る)かどうかにかかわらず、Linuxカーネルはどのように動作しますか? ファイルが本物ではない場合:例として、read from /dev/randomはランダムデータを返し、read from /dev/nullはを返しEOFます。どのようにこの仮想ファイルからどのデータを読み取るのか(したがって、データが仮想ファイルに書き込まれたとき/場合に何をするのか)-各ファイルに適切な別々の読み取り/書き込みコマンドへのポインタを持つ何らかのマップがありますか?または、仮想ディレクトリ自体についても?したがって、のエントリ/dev/nullは単にを返すことができEOFます。