I am in the stages of creating an operating system. To date, I've made the bootloader/sector, as well the kernel, complete with clear screen, kernel print (multiple variations), and basically cleaned up the code for awhile.
So, the question comes down to what do I really go from here. The options laid out in front of me seem almost endless, from what I have read on the Global Descriptor Tables/Interupt Descriptor Tables, to writing dynamic memory management, to paging, to block drivers.
It seems weird to think that I could just pick whatever I want to work on out of a hat, because then I would have no organization, and bugs would probably result of that.
So, to be specific, I am wondering if anyone has any experience in this matter. If so, could you give a few tips/pointers as to what might be the best thing to start w/.