File systems comparison

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
Jeko
Member
Member
Posts: 500
Joined: Fri Mar 17, 2006 12:00 am
Location: Napoli, Italy

File systems comparison

Post by Jeko »

I need also a comparison between file systems. I think EXT2 filesystem is the best for me, but I'm not sure.
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post by AJ »

Have you seen http://www.osdev.org/wiki/Category:Filesystems on the wiki? If not, that is a pretty good starting point.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

If you want features: there's a big comparison on wikipedia. If you want an easy-to-use filesystem, you are limited to Ext2, FAT or SFS.

The main argument for FAT is that its universally supported, so that you can use it from virtually everywhere. Ext2 has decent support across unices (linux, bsd), but not on windows, and sfs is pretty much unsupported.

The main argument for Ext is that it has a good and proven design and a well available source base. Ext2 might be a little trickier than FAT to implement but you get more in return. Its also free of microsoft patents so you can use long file names without paying royalties.

SFS is free of all bloat and file size/disk size limitations encountered by both FAT and ext2, but some bloat might always be useful. But by my knowledge there is only one implementation as of yet with the obvious consequences thereof.

FSes like HPFS, NTFS, HFS, XFS, JFS and Reiser are more complex and IMHO only qualify for when you want to support a second filesystem.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
JJeronimo
Member
Member
Posts: 202
Joined: Wed Oct 18, 2006 3:29 pm

Post by JJeronimo »

Combuster wrote:The main argument for Ext is that it has a good and proven design and a well available source base. Ext2 might be a little trickier than FAT to implement but you get more in return. Its also free of microsoft patents so you can use long file names without paying royalties.
Ext2 has some key features that are missing in FAT, that is UNIX-like file permissions, symbolic links and hard links.

If you are coding a UNIX-like OS, then you can't use FAT unless you make a non-standard use of the attributes field... And still you won't have support for hard-links. Hard links are more difficult to add to FAT because it needs a separation between the file name data and inodes that define the rest of the file (owner, group, mode, size, inode list, number of hard links, etc).


You also have the minix filesystem, but it's not very supported. OK, Linux still has its driver, but then you'll need tools to create and maintain the filesystem. The versions that come with minix seem a bit difficult to port (at least to me). They use minix specific headers...

JJ
Post Reply