This is a quite nice tutorial. There's a quite bit of half-chewed reference material in the osdev wiki. It's quite x86 centric, but that's what makes it especially valuable to me. I already have OS books that I read in Uni courses:
<a href="http://wiki.osdev.org/" rel="nofollow">http://wiki.osdev.org/</a><p>Writing your own hobby operating system is a very nice project to learn about your computer's internals and hone your low level programming skills. Here's the start of my hobby OS:
<a href="https://github.com/rikusalminen/danjeros" rel="nofollow">https://github.com/rikusalminen/danjeros</a><p>Also, don't be fooled to thinking that you won't need the skills professionally, because Linux/Windows/*BSD already exists. In fact, at work we have an original in-house small "toy" operating system, but it's not a toy. It's actually used for testing new system on chips when they roll out the factory as well as doing some special purpose tasks on actual devices that are shipped to millions of customers. It's only a few thousand lines of code and looks a lot like one of these schoolbook/hobby operating systems. Unfortunately, I cannot tell you anything more about it.