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