FAT file system
Posted: Tue May 22, 2007 3:55 pm
since i am a relative beginner to osdeving, should i use someone else's file system (FAT32), before i write my own?
As much as I understand the first rule, I disagree on the use of FAT. FAT is bad for you, especially those kinds of saturated FAT's like FAT32. Try using something else that your operating system also supports, but do shy away from the most complex filesystems (no NTFS, ReiserFS etc.). What about FFS or Ext2?pcmattman wrote:Don't write your own filesystem until you've finished your kernel. It's too much of a distraction. Use FAT (but not only FAT32, also FAT16 and FAT12).
I would consider FAT a bad choice for a first filesystem for any new operating system, as the assumptions you will implicitly make during its implementation will limit any other filesystem's performance. Also, you'll further the commonality of FAT, encouraging others to do the same.Combuster wrote:The reason to put FAT first, is that it is standard for floppy disks. Most likely that is the first file system you'd get into contact with. If you have linux + harddisk driver candy's right and Ext2 is probably a better choice.
A filesystem should be implemented to be transparent. I should be able to have my fread function decide, based on what it has already found out about the drive, which filesystem driver to call.as the assumptions you will implicitly make during its implementation will limit any other filesystem's performance
The filesystem and interface SHOULD be implemented based on what the device can do and what a file system can use/do. However:pcmattman wrote:And,A filesystem should be implemented to be transparent. I should be able to have my fread function decide, based on what it has already found out about the drive, which filesystem driver to call.as the assumptions you will implicitly make during its implementation will limit any other filesystem's performance
I don't see how implementing one filesystem can affect another's performance, unless you treat Ext2 more like FAT or something insane like that.
SFS supports, iirc, symlinks. It isn't intended to be a full-blown filesystem for OS hosting use, it's intended for removable media and exchanging information. I'm developing my own filesystem with support for at least the items above; you don't have to take my FS for it though, the very recently developed ZFS has nearly all of them as well. There's ext3cow for copy on write (without decent interface, I think), you can rename files in any unix without any effect and so on & forth.mikegonta wrote:Another grain of salt in the ocean.Candy wrote:Also, you'll further the commonality of FAT, encouraging others to do the same.
But seriously, could you elaborate on these SFS features.Mike GontaCandy wrote:- If my filesystem supports arbitrary attributes, your interface won't be able to handle them
- If you think about permissions, FAT is a disaster
- You can't use inodes in your interface since FAT doesn't know them
- Copy on write files
- Name changing directories
- Symlinks
http://groups.google.com/group/aeBIOS/about?hl=en