Just a quick question, but why are there so many file systems still competing and in use today? (ntfs, fat32, ext3(ffs), etc)It seems that file system designers could agree upon the best aspects of each type of system and implement a best filesystem, no? Just a thought, since these filesystems have been around for a while now, and it should be at least somewhat apparent which ones have good qualities over others, and we could just combine the good in each and create an ultimate system that is much better
Why are there so many competing filesystem designs?
standards;file systems;standardization
Let's think about the specifics here for a moment, using examples you've cited:ntfs - Proprietary to Microsoft.  Anyone who is not Microsoft cannot use this, therefore would have to use/create something different.  Now, if you are Microsoft, you want to use this over FAT because of the issues of the next bullet point.fat32 - Not sufficiently modern.  The maximum file size is 4GB.  Directory entry lookup is O(n).  The allocation table is a linked list, rather than something more efficient like an allocation bitmap (where it's really quick to find contiguous free space).  Does not support permissions.  Does not support hard links or symbolic links.  Does not support journaling.ext3 - This was an extension of ext2 mainly to support journaling.So, it seems there are a few reasons:An earlier filesystem lacks something.  In the case of FAT it is lacking a lot: both in terms of (1) features and (2) performance.  In the case of ext2 it did not have journalled updates, so recovering from a crash took more time.An existing filesystem would probably do, but it is not yours.  (eg. NTFS if you're not Microsoft).  In this case you don't really have much choice but to come up with your own.