thanks

Very reliable, crash proof, but I think you won't get stellar performance with read/writes. Seek times are a bit high too, given lots of sectors.Curufir wrote: My current 'filesystem' consists of a pad of A4 on which I write sector numbers (My OS doesn't need anything more at the moment).
Yeah. It's not something I'll be doing for too long, but right now it suits my (Weird ;D) development style.Candy wrote: Seriously, would suggest you to at least get FAT-ish functionality (as a base requirement), preferably better in some areas.
I'd be tempted to use multi-threaded file system drivers, where a file system driver's code is loaded into memory once, and multiple threads are used for multiple devices (e.g. one thread per file system). This is a design issue though - how you decide to do it is up to you.Poseidon wrote:i've now a pretty good idea what a vfs does, but shall i have for every device its own filesystem driver (so the filesystemdriver can be loaded multiple times, could be handy for writing it to the memory and write it every 30 seconds in one time to the harddisk), or one filesystem driver used by multiple block devices (wastes less memory, but makes it more complex to create a write-to-memory-and-after-30-seconds-to-blockdevices-system, multiple dma buffers needed)
I'd make the VFS layer write data to the file system driver every N seconds, where N can be set differently for each file system. For removeable media you'd want N to be less than 30 seconds because you can't be too sure when the user will remove it. You'd also want the option of setting N to 0 (effectively providing a "write-through" option).Poseidon wrote:i get now the idea of storing the data which is written to the harddisk in the memory of the vfs driver and write it then every 30 seconds to the filesystem drivers, so the filesystem driver don't have to do that.
Code: Select all
;mount the hard drive as "/foo"
mount -tFAT /dev/hda0 /foo
;mount a file on the file system "/foo" as "/foo/bar"
mount -tFAT /foo/image.bin /foo/bar
;mount a file on the file system "/foo/bar" as "/temp"
mount -tFAT /foo/bar/image.bin /temp