rootfs (Linux)
読み:ルート-エフエス
外語:rootfs: root filesystem
Linuxにおいて、ルートディレクトリに対応するファイルシステム。
概要
Linuxでは、ファイルシステムのインターフェイスは階層化されている。
ext2/3/4などの上に、抽象化概念として仮想ファイルシステム(vfs)があり、その下に置かれるprocfsやsysfsなどと同様の、様々な特殊ファイルシステムの一つとして解釈できる。
特徴
ルートファイルシステム
「ルートファイルシステム」と「rootfs」は、実際には概念的に異なる存在である。
rootfsとは/に対応するもので、この/であるrootfsにマウントされる実デバイス(カーネルやライブラリのバイナリなどがある実デバイス)が「ルートファイルシステム」であると解釈できる。
すなわち、「ルートファイルシステム」を/であるrootfsにマウントしてシステムを起動する、のように表現することができる。
実装
rootfsの定義と実装は、kernel/fs/ramfs/inode.cの中にある。この処理は、kernel/fs/namespace.cから呼び出されている。
rootfsの実体としてはstatic struct file_system_type rootfs_fs_type 構造体だけで、そのほかにrootfs用のコールバック関数などは定義が無い。
rootfsはramfsと処理が共通化されており、ramfsの処理においてinodeを取得した後d_make_root()関数でそのinodeに対するdentryを"/"として取得するようになっている。
つまり、rootfsの実体は、ramfsということができる。
再検索