pauldinhqd wrote:part of it is the
services for accessing data stored on disk
I suppose you are at early stage, and your primary goal is to read files from disk. The good news is, you don't need an FS driver for that, many kernels (most notably Linux) use an archive file for that. Most widely used is cpio with ascii header format. It's just a mound of header+data blocks, with header aligned, what makes it extremly easy to get a file from.
http://www.mkssoftware.com/docs/man4/cpio.4.asp
You can load that by grub as a module, or write your own loader. If the latter, you have to
- locate the boot fs on disk
- load the fs into ram (can be done by BIOS calls, at boot you don't have any disk driver yet)
- implement a readfile function, that parses the ram image for a file and returns a pointer to it's data.
For compatibility, you may consider to load the fs image from a file ona FAT disk. It's not so hard, and there're plenty of examples on the net. Or use the unix way, one small boot partition (be careful when assigning a partition type code for it).
Desinging a good FS is a really hard task, I suggest to study different FS's on disk format and write drivers for them before you start to get a clue.