ext4
ファイルシステム(またはほぼすべてのLinuxファイルシステム)のinodeについて学ぶと、ディレクトリにもinodeエントリがあることがわかりました。しかし、私は1つの微妙な側面について少し混乱しています。
- ディレクトリのinode構造はファイルのinodeエントリと似ていますか?協会
または
- ファイルinode(例:
.txt
など)とは異なりますか?協会
どちらの記事でも、ディレクトリは単にファイル名をinode値にマップするファイルと呼ばれていました。ただし、最初のリンクでは、ディレクトリの内容(マップ)をメモリブロックの別々のデータプールセグメントとして指定し、inodeテーブルはデータプールのinode値を格納しますが、他のリンクでは作成者が言及した(画像から)ディレクトリのinode構造にマップされます。
したがって、ディレクトリのマップされた内容と、inodeテーブルのinodeエントリが別々のメモリブロックに格納され、特定のメモリブロックを指すのか、それとも一緒に保存されるのか(ファイル名とinode値間のマッピング))inodeとして保存されるのか疑問が生じます。サブファイルとディレクトリデータを含む追加のメモリブロックなしで、inodeテーブル自体にエントリがありますか?
助けてください。
答え1
最初の参照(単一チャート)は(代わりに)ごみです。 inodeが「content_of_file_2」を直接指していると言うのは、とんでもない単純化です。私はこの文脈で「データプール」という用語が使用されたことを見たことがありません。
これは、ディレクトリ/ファイル階層がツリーであることを示しており、各ステップでinodeのリストを調べることによってこれを行います。
2番目の参照は良く見えますが、完全には読まれませんでした。これはまだ完全な説明ではありませんが、「完全な」ものは10個のわずかに異なるファイルシステムを処理する必要があります。
参照1では、ディレクトリとファイルが同様に処理されると言われ、参照2では互いに異なると言う理由は理解できません。両方の項目タイプに共通する事項は同じように扱われます。違いは、ファイルにはユーザーデータを保持する複数のブロックがあり、ディレクトリにはファイルシステムデータ(特に名前とinodeテーブル)を保持する複数のブロックがあることです。