File Systems: Difference between revisions

→‎File systems for OSDevers: Added information to answer the "which FS?" FAQ
[unchecked revision][unchecked revision]
(Moved the link to the fs category to the top)
(→‎File systems for OSDevers: Added information to answer the "which FS?" FAQ)
Line 41:
 
== File systems for OSDevers ==
While you could pick <insert favorite filesystem here> as your OS main filesystem, you might want to consider all options. Commonly, you'll want to have a filesystem that is operational very quickly so that you can concentrate on the rest before implementing a 'real filesystem'
 
=== "Beginners" filesystems ===
There are only four filesystems that are both relatively easy to implement and worth to consider. There is no general recommendation as the choice depends largely on style and OS design. Instead you can read the comparison and make your own educated decision.
 
'''[[FAT]]'''
* <code>+</code> Can be read and written by virtually all OSes
* <code>+</code> The 'standard' for floppies
* <code>+</code> Relatively easy to implement
* <code>-</code> Patented by Microsoft. If you wish to use long file names you should pay them.
* <code>-</code> Large overhead
* <code>-</code> No support for large (>4GB) files
* <code>-</code> No support for unix permissions
 
 
'''[[Ext2]]'''
* <code>+</code> Supports large files (with an extension)
* <code>+</code> Supports unix permissions
* <code>+</code> Can be put on floppies
* <code>+</code> Journalling support
* <code>+</code> Can be read and written from linux
* <code>-</code> Can not natively be read and written from windows
* <code>-</code> Very large overhead
* <code>-</code> Of these four, this is the most complex filesystem
 
 
'''[[SFS]]'''
* <code>+</code> Supports large files
* <code>+</code> By far the easiest to implement
* <code>+</code> Can be put on floppies and harddisks
* <code>+</code> Minimal overhead
* <code>-</code> New, and therefore unsupported. The only operational utility is available for Windows.
* <code>-</code> No support for unix permissions
 
 
'''[[ISO 9660]]'''
 
The defined standard for CDs. If you boot from CD then this is the way to go. If not, don't make it your first filesystem.
=== Rolling your own ===
There are many different kinds of filesystems around, from the well-known to the more obscure ones. The most unfortunate thing about filesystems is that every hobbyist OS programmer thinks that the filesystem they design is the ultimate technology, when in reality it's usually just a bad copy of DOS FAT with a change here and there. The world doesn't need another crap filesystem. Investigate all the possibilites before you decide you roll your own.
 
1,490

edits