How much of a beginner are you? In particular, how much do you know about operating system kernels in general? And how much multi-threaded programming have you done, in situations where you have to manage your own locking?
Here's a little something about myself, I'm fairly good with C, Python and Java and have programmed using threads with Python. I've been using Linux via the command line for a long time now. As for the OS and kernel level stuff, I don't have a lot of experience, but am enthusiastic to learn, and am working on it.
Linux is a fairly mature monster. This means that the simple outlines of what all OSes do tend to be obscured by layers of complexity. That's one some folks use BSD for their OS-kernel classes. You'll be doing more digging in linux. Will you be comfortable with that?
I do realize that contributing to the kernel would not be an easy task, and I must know a lot before I can contribute actual code. But still, I would be happy to.
My question would be "incomprehensible how?" There's a lot of shared context, which you won't have, and diffs aren't the best way to learn what's in a piece of code. That level of "incomprehensible" makes sense to me.
I should be able to minimize the "incomprehensible" part soon, there's a lot to catch up with... Thanks for the advice. Varad