Which tutorails can help in understanding hardware interaction with C
I want to learn hardcore c programming used in Linux kernel but when i read those stuff everything goes on the top of my head. i am not able to understand the code and dat structures they use with pointer to pointer function. its all very confusing with me. I have been trying for long time but i am not able to find a resource where someone has fullyy documented the harware interaction code explaining each and every line of code.
开发者_如何学编程Can anyone point me in right direction how should i go
You've got two problems: understanding some quite sophisticated language constructs: pointers to function pointers I would guess are probably only a small part, I'll bet there are some much gnarlier things going on when you have multiple threads of control. Then there is the problem domain to which these techniques are being applied - really low level stuff interacting with hardware.
You are probably being unrealistic in expecting to learn these two things at the same time. To take an analogy, imagine asking for something to explain Shakespear's plays (say Merchant of Venice) line by line, to someone who neither speaks English, not understands the concepts of lending money or of a legal system.
My recommendation: Study C coding in detail until you understand in general how to use function pointers, and more important why you use them, how to write multi-threaded code, why you need concepts such a mutices and sempahores. Then also read about the general principles of low level programming, for example Deitel & Deitel covers a lot of material about OS development.
I learned a lot about writing modules by reading this book (it's free): http://lwn.net/Kernel/LDD3/
It is a very understandable introduction to kernel development.
You might also want to have a look at this old paper: http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html
It explains very concisely the concepts in Unix and may help you to keep things simple.
精彩评论