UNIXファイルシステムがどのようにしてiノードに関して動作するかを理解しようとしています。私が理解するように、ディレクトリは、各サブディレクトリまたはファイルの[name:inode]という形式のエントリを持つ単純なテーブルとして表されます。UNIXファイルシステムがノードを持つ構造体を形成する方法
私が混乱しているところは、これらのディレクトリがどのように構造を形成しているかです。もし私がディレクトリ 'root'に 'file.txt'というファイルを含むサブディレクトリ 'home'を含んでいたら、ルートディレクトリには[home ':(homes associated inode)]というエントリがあると思いますが、 'home'ディレクトリテーブルに移動しますか?すべてのヘルプやガイダンスははるかに高く評価されるだろう
、 ベン
ありがとう、これは非常に有用です!あなたは内容がディスクブロックへのポインタを介して格納されていることを言及しています、また、inode番号はディスク上の他のinode位置へのポインタであるか、あるいは他の方法で管理されていますか? – BenJacob
@BenJacobこれはわかりませんが、私はさまざまなファイルシステムの実装方法が違うと思います。通常、iノードとディスクブロックの間には構造化されたマッピングがあると思います。例えば、ディスクブロック100はinode10-19を含み、ディスクブロック200はinode20-29等を含む。ディレクトリinodeのディレクトリエントリはinode番号にマッピングされ、inodeのディスクブロックポインタはディスクブロック番号を指す。 inode番号 'i'をディスクブロックに変換するには'(i/10)* 100'をとり、そのブロックの '(i%10)'番目のinodeを見ます。またはそのようなもの。 –
この設定では、inodeとブロックの数が固定されていることを前提にしています。ディレクトリを作成すると、空のinodeに新しい情報が埋め込まれます。 – BenJacob