FreeBSD や Solaris における inode の用途

FreeBSD や Solaris における inode の用途

私は Linux カーネルについて少し知っています。しかし、Freebsd の場合、「vnode」は実際には Linux カーネルの「inode」に似ています。

FreeBSD や Solaris には「inode」という概念があります。

そこで質問なのですが、FreeBSD の「inode」とは何の目的なのでしょうか?

以下は読むと良いでしょう。

ありがとう。

http://hub.opensolaris.org/bin/view/コミュニティ+グループ+advocacy/solaris-linux-freebsd

これら 3 つのオペレーティング システムはすべて、データ抽象化レイヤーを使用して、ファイル システムの実装の詳細をアプリケーションから隠します。これら 3 つの OS では、ファイル データの基盤となる実装や構成に関係なく、open、close、read、write、stat などのシステム コールを使用してファイルにアクセスします。Solaris と FreeBSD では、このメカニズムを VFS (仮想ファイル システム) と呼び、基本データ構造は vnode、つまり「仮想ノード」です。Solaris または FreeBSD でアクセスされるすべてのファイルには、vnode が割り当てられています。vnode には、一般的なファイル情報に加えて、ファイル システム固有の情報へのポインタが含まれています。Linux でも、同様のメカニズムが使用されており、これも VFS (仮想ファイル スイッチ) と呼ばれています。Linux では、ファイル システムに依存しないデータ構造は inode です。この構造は、Solaris/FreeBSD の vnode に似ています (Solaris/FreeBSD にも inode 構造がありますが、これは UFS ファイル システムのファイル システム依存データです)。Linux には、ファイル操作用と inode 操作用の 2 つの異なる構造があります。 Solaris と FreeBSD では、これらを「vnode 操作」として組み合わせます。

答え1

inode、一部のファイル システム内のファイルまたはディレクトリのメタデータ (ファイルの名前とデータを除く、ファイルに関するすべての情報) を保持する構造です。権限、所有権、作成日時、変更日時などの情報を保持します。

仮想化されたファイル システム アクセス レイヤーを提供するシステム (FreeBSD、Solaris、Linux) は、inode を使用するかどうかに関係なく、さまざまな基盤ファイル システムをサポートできます。たとえば、ReiserFS は inode を使用しませんが、FreeBSD はffs2使用します。ファイル システムにアクセスするための抽象化レイヤーは、ファイル操作用の単一の明確に定義されたインターフェイスを提供するため、アプリケーションはさまざまなファイル システムの実装の違いについて認識する必要がありません。

関連情報