Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I suppose the question would be OS specific, so I'll take the following scenarios:

  • Winodows (NTFS)
  • OSX (HFS)
  • Linux (ext2,ext3,ext4)

Each operating system has it's default filesystem it operates os (OSX, I beleive, only has the one choice available). I've noticed some utilities out there for OS's to read different file systems (which obvisouly is NOT apart of the kernel), which got me thinking: Are filesystem operations a function of a driver (ie, potentially modular), or is it truly apart of the kernel?

share|improve this question

closed as not constructive by Ƭᴇcʜιᴇ007, RedGrittyBrick, Indrek, Renan, Diogo Sep 22 '12 at 1:26

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers 3

up vote 2 down vote accepted

In Linux, when you compile the kernel yourself, you have the option to compile support for each available filesystem (ext2, ext3, ext4, reiserfs or JFS for example) separated as modules or within the kernel. I've not tried if it works when compiled as modules but I suppose it certainly won't work for the filesystem of the boot partition but may work for the others.

No idea for Windows or OSX.

share|improve this answer
    
In Windows I think these are implemented in certain DLL files; but it's indeed not clear whether to consider them part of the kernel or just drivers, since it's somewhat modular. OS X probably finds its root in Unix, which also had the filesystem in the kernel... –  Tom Wijsman Sep 21 '12 at 21:42

In Windows, both the FAT and NTFS filesystems are implemented inside the kernel as device drivers loaded from fastfat.sys and ntfs.sys, both located in \Windows\System32\drivers.

Windows kernel FAT filesystem implementationWindows kernel NTFS filesystem implementation

share|improve this answer

For Linux and OSX (I'm not sure about Windows), you might have a look at File System in Userspace and MacFuse. This allows FS implementations to be written not in the kernel, but as userspace drivers - which are naturally much less dangerous.

share|improve this answer
    
Very interesting... I'll have to take a look. –  hydroparadise Sep 21 '12 at 21:33

Not the answer you're looking for? Browse other questions tagged or ask your own question.