4-1. マウントとrootfs
ここからはrootfs (ルートファイルシステム) に関する処理を実装していきます。
実装に入る前に、1章でも少し触れたマウントとrootfsについて、もう少し深掘りしてみましょう。
マウント
マウントは、何らかのファイルシステムを特定のディレクトリに紐付ける操作です。
ここで、ファイルシステムについておさらいしておきましょう。
ファイルシステムは、コンピューターがストレージにどのようにデータを読み書きするかを定義する仕組みです。
私たちが普段使っているディレクトリ・ファイルの構造をストレージに書き込み・読み込みする際、どう変換されるかを決めています。
代表的なファイルシステムの規格をいくつか紹介します。
- ext4: Linuxでよく使われるファイルシステム
- FAT32: USBメモリやSDカードでよく使われるファイルシステム
- NTFS: Windowsの標準ファイルシステム
ファイルシステムを持つ「何か」は、マウント操作を用いて特定のディレクトリに紐付けることで、実際に私たちがOSの中でファイル・ディレクトリとして操作できるようになります。
「ファイルシステムを持つ『何か』」は多くの場合HDDやSSDなどのストレージデバイスですが、他にもネットワーク越しの共有フォルダや仮想的なファイルシステムなどもあります。
rootfs
特殊マウント: /proc, /dev, /sys
- 何かしらのデバイスをフォルダに紐づける
- 実はrootfs (
/以下) も、マウントによって構築されている - 特に
/proc/dev/sys以下は、ストレージではなくカーネルに繋がっている- リアルタイムにOSやデバイスの情報をファイルとして読むことができ