1

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?

1
  • You might want to have a look at this page.
    – terdon
    Dec 6, 2012 at 17:16

2 Answers 2

1

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.

1

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 .