I/O System
Posted: Mon Jan 06, 2003 8:49 am
Okay, in trying to get my elf loader working I am going to need an I/O structure, even if its only reading from RAM.
So I was thinking of a three-tier structure as follows:
1. Block I/O device
Lowest tier, dealing with blocks/sectors/RAM pages. This level will handle caching.
2. Filesystem code.
Independent of Block I/O. Middle tier, dealing with open/close/seek etc. for specific filesystem, will make indirect calls to Block I/O through volume manager struct.
3. Volume manager.
This is the top level, the level accessed by user programs. Will combine both a filesystem module and a block I/O module. For example it will combine FAT/Floppy to enable FAT access to floppy drives.
So, am I overcomplicating things?
How would you do it?
Daryl.
So I was thinking of a three-tier structure as follows:
1. Block I/O device
Lowest tier, dealing with blocks/sectors/RAM pages. This level will handle caching.
2. Filesystem code.
Independent of Block I/O. Middle tier, dealing with open/close/seek etc. for specific filesystem, will make indirect calls to Block I/O through volume manager struct.
3. Volume manager.
This is the top level, the level accessed by user programs. Will combine both a filesystem module and a block I/O module. For example it will combine FAT/Floppy to enable FAT access to floppy drives.
So, am I overcomplicating things?
How would you do it?
Daryl.