I am an beginner in OS'Deving. I just started building my OS, currently named SOS, and have done the following in it:
a) A GDT.
b) Interrupts up and working (IRQ).
c) Keyboard Input.
d) Paging implemented.
e) A working heap.
f) Support for displaying the time. (Pretty cool.. huh?)
Now I wanted to ask what next? I think doing this much is crossing the beginner level in OS Dev, and now I am sort of beginnerish intermediate.

a) Can you guys tell me, how is an filesystem implemented. I mean I found some pretty good resources, which tell me what an filesystem is, but no one even gives me an hint on how it is implemented.
b) Can you guys tell me, (same format

c)How a executable file is loaded. I ain't picky, so any format such as PE, ELF would work. But it should be simple. This is the least prefered question, as I guess this would come after the above two are done.
d) What is to be done after this stage?
e) What did you all do?
Thats all folks.

EDIT: Preferably I want some discussions on the ISO 9660 filesystem, as that would be used for the CD, I guess.