inodeテーブルはメモリに保存されていますか?

inodeテーブルはメモリに保存されていますか?

私が理解したところ、Linuxはinodeテーブルを使用してディスク上のファイルを見つけます。 Linuxファイルシステムはinodeテーブルをメモリに保持しますか? ext2、ext3、ext4に関係なく同じですか?

これを説明する良い参考資料を知っている人はいますか?

ベストアンサー1

この内容はすでにここで取り上げています。ファイルテーブルはファイルシステムにありますか、メモリにありますか?

かなり徹底したようです。しかし、まだ良い質問です。ご覧のとおり、この質問は実際にあなたの質問が示唆するよりも具体的です。

http://140.120.7.21/LinuxKernel/LinuxKernel/node17.html以下は、同じ質問に対処するように思われるより技術的な説明です。同じ答えで正しく読み取ると、メモリとディスクに異なる種類のinodeテーブルがあります。これは2008年のことですが、少なくともextファイルシステムではあまり変わったことがないようですが確かではありません。

以前のカーネルの説明は実際にはかなり良いです。

汎用ファイルは、名前が付いていない一部の物理デバイスに格納された一連のデータバイトです。所有者、権限、サイズ、時間などのファイル管理情報は、ファイルの inode 構造に保存されます。ファイルシステムのすべての inode をまとめて inode テーブルを形成します。各ファイルシステムは1つの論理ディスクを占有します。カーネルは論理ディスクの$2^{nd}$ブロックから始まり、ファイルシステムのinodeテーブルを隣接するディスクブロックに格納します。各inode(inodeテーブルのエントリ)は、ファイルに関する次の情報を格納するためにシステムによって使用されるデータ構造です。

....

最後に、Linuxソースツリー(include/linux/fs.h)で定義されたinode構造があります。これは、メモリにロードされたinode構造であるIn-Core inodeです。このコア内のinodeがロードされると、関連するディスクのinode情報が関連フィールドに入力されます。

おすすめ記事