Knowing that there are many different file systems (FAT16, FAT32, NTFS, ReFS, EXT2/3/4, ZFS, HPFS, HFS+, CDFS, etc), I assume that they are all used for different things. I know that EXTs are used in *nix products, and that NTFS is the default file system for Windows XP through to 8.

Other than features, how are file systems better at more files, or smaller files, or larger files, or larger space? What makes them so special for the types of files they have, and why can't there just be one standard FS that everyone reads, understands, and can use with their operating systems? I know FAT32 is fairly standard, but lacks security. Other than that, why?

closed as not constructive by Dave M, Gaff, Michael Hampton, TFM, Ƭᴇcʜιᴇ007 Dec 6 '12 at 20:03

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.

  • You might want to have a look at this page. – terdon Dec 6 '12 at 17:16

If you look at the history of filesystems, each was developed with current technology in mind. As an example fat32 which arrived with Windows 95 has a file size limit of 4GB. Right now on most computers pagefile.sys and hiberfil.sys are larger than 4GB. When Microsoft realized that the it needed to get beyond those and other limits they developed NTFS.

The development of filesystems follows closely with the operating system they are intended to support. The history of Ext2/3/4 follows the development of the linux kernel which uses them. There is probably never going to be any 'grand unified file system' for local disks because it is tied so closely to the development of the OS, and in reality diversity is a good thing.

You are more likely to see unification of network type file systems. At this point we have the CIFS/SMB protocol which nearly every operating system can handle.


Block size is one of the things you are getting at. Having a small block size allows you to store more small files without wasting any capacity, but files larger than the size of the block are likely to become fragmented. Likewise larger blocks mean less fragmentation, but to store a small file in a large block is a big waste unless the filesystem can do block sub-allocation (accessing many small files in a single block). It's much less of a concern these days since most modern filesystems are capable of storing multiple files in the same block (NTFS/Ext3/4/etc).

Check the link in @terdon's comment. it covers many of the other attributes of a modern FS and how they are supported.

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