ファイルシステム操作はカーネルの機能ですか?

ファイルシステム操作はカーネルの機能ですか?

質問は OS 固有のものになると思うので、次のシナリオを取り上げます。

  • ウィンドウズ (NTFS)
  • OSX (HFS)
  • Linux (ext2、ext3、ext4)

各オペレーティングシステムには、OSを動作させるデフォルトのファイルシステムがあります(OSXでは、選択肢は1つだけだと思います)。OSが異なるファイルシステムを読み込むためのユーティリティがいくつかあることに気付きました(明らかにないファイルシステム操作はドライバの機能(つまり、潜在的にモジュール化されているもの)なのか、それとも本当にカーネルの一部なのか、と考えさせられました。

答え1

Linux では、カーネルを自分でコンパイルするときに、利用可能な各ファイルシステム (ext2、ext3、ext4、reiserfs、JFS など) のサポートをモジュールとして分離するか、カーネル内にコンパイルするかを選択できます。モジュールとしてコンパイルした場合に機能するかどうかは試していませんが、ブート パーティションのファイルシステムでは確実に機能しないと思いますが、他のファイルシステムでは機能する可能性があります。

Windows または OSX についてはわかりません。

答え2

Windowsでは、脂肪そしてNTFSfastfat.sysファイルシステムは、 とからロードされるデバイス ドライバとしてカーネル内に実装されておりntfs.sys、どちらも にあります\Windows\System32\drivers

Windows カーネル FAT ファイルシステムの実装Windows カーネル NTFS ファイルシステムの実装

答え3

LinuxとOSX(Windowsについてはよく分かりません)の場合は、ユーザー空間のファイルシステムそしてマックヒューズこれにより、FS 実装をカーネル内ではなく、ユーザー空間ドライバーとして記述できるようになり、当然危険性が大幅に低減します。

関連情報