Bloggin' you after a long time. :-) I would like to add my current OS status. I have started writing the keyboard driver and it is nearing completion. Finally, I learnt that developing an Operating System on your own needs a plenty of theoritical knowledge. So, I started Learning various documents. I would suggest Intel x86 manuals (if you are coding for the same), GCC manual, NASM manual, Operating Systems theory books (to know the various techniques used for mm, pm, dm, etc). Also, learn the book "Understanding the Linux Kernel" by DANIEL P. BOVET and MARCO CESATI. It explains all sorts of things Linux does, device management, IO Interuppts and exception handling, memory management, virtual memory, etc. It is a must read book for OS developers.
You should also have good design skills. To be able to design a system, you should have a good theoritical knowledge. In order to gain theoritical knowledge, you should rad more books. So, I started reading various operating system books in my free time. I find it quite helpful in designing a system. Recently, I learnt about the system calls. I will explain you about what is a system call, how does it get activated? Are open, creat, read, write actually system calls? Or there exists something below these functions above which these functions act as system calls?