Climbing the Kernel Mountain
So, you want to write an operating system. We discussed earlier a generic set of considerations that are important, from my experience, for this type of adventure. We proceed to look at solutions to the problem of actually getting started with writing your system: how to do it when you know you don't know what you're doing, making it work before making it work fast, and what to do when things go wrong.