Posted 27 September 2012 - 16:13
Not to be a Debbie Downer, but while learning the internals of an operating system and how to program at the kernel level is a lofty goal, it probably isn't something that you're going to learn in just a year, no less a summer. If you are just starting out with C and have very little understanding of how operating systems interface with hardware (or provide services to higher levels), its likely to be extremely difficult. If you are really serious about it, you can do it, but don't expect it to be fast or easy.
I am a meticulous and thorough person, like you claim to be. While it has helped me gain a deep understanding of some subjects, it certainly has not made me fast. I started learning C++ 7 years ago, C 4 years ago, GNU/Linux 3 years ago, and kernel level programming within the last year. While it is something that I am very interested in, I'm still not at the point where I could write my own kernel module from scratch. I understand just enough to read Linux kernel code, debug it (to some extent), and patch it where necessary. I watch the Linux commit logs and mailing lists and hope to eventually learn enough to be able to write my own kernel module from scratch -- but I'm not there yet.
In my experience, most descent programmers have a healthy ego: that's why programmers tend to suck at giving time estimates. You could learn kernel programming faster than me. In fact, I'm sure that many others have. I'm not the best programmer out there -- I'm probably not even above average -- but I am thorough. Don't give up because you can't learn it as fast as you would like. Start at an upper level (such as C++ desktop application development) and work your way down (to kernel level). If you really love it, stick with it: you will get there eventually.