I have been studying operating system design for years in hopes of writing my own. I strongly agree with Colin, Hardware info, init, and drivers should be in the bios or somewhere outside of the kernel... Even linux moves many drivers out into loadables... =) This trend is good. It is still fairly kludgy but its better than having everything inside the kernel.