Results 1 to 5 of 5
Hi, I don't know If I am writing in the correct place, please excuse-me if not.
I am an engineering student and I use the linux OS for quite a ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 04-14-2010 #1Just Joined!
- Join Date
- Apr 2010
- Posts
- 2
kernel programming - beginner
Hi, I don't know If I am writing in the correct place, please excuse-me if not.
I am an engineering student and I use the linux OS for quite a long time ( tried ubuntu, fedora, suse ) but only as a user. Now I'm doing a very cool internship and I need programming skills that I absolutely don't have yet. At the moment I have to understand and program kernel drivers, and I am very excited about learning such a thing, that interests me very much and I am studying in the book "Linux device drivers" but I can't understand it very well, as I have only C/C++ intermediate programming skills.
I think that for me at this point, I have to study advanced C programming, study about the linux kernel (I took the book "Understanding the Linux Kernel" - O'Reilly, to study ), and only after that, start studying about programming linux drivers, but I'm quite in a hurry, because I need to understand the drivers now, for my internship.
Do you have any idea to help me? Any site, tutorial or book that lead me to unsdertand more easily about the kernel, how the kernel interact with hardware and user software, the modules and so on?
thank you
- 04-14-2010 #2forum.guy
- Join Date
- May 2004
- Location
- arch linux
- Posts
- 18,733
Hello and welcome!

As for books, Understanding the Linux Kernel should help you:
Understanding the Linux Kernel, Third Edition - O'Reilly Media
If you should decide to buy it, you can find better prices with some online searching.
Edit: oops... sorry, just reread your post and see that you've already done the referenced book. Hopefully, some of the others here will have other recommendations for you.oz
- 04-14-2010 #3Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 10,143
That's a pretty good book. I use it myself. My suggestion is to download some kernel module code and start looking at it and try to wrap your mind around what they are doing. There a several types of drivers that are very different in terms of structure and function: character device drivers (serial and usb drivers are an example), block devices (disc drives), etc. Decide what you are interested in doing (start with one type) and then look at existing practice (code) to get started.
Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!
- 04-15-2010 #4Just Joined!
- Join Date
- Apr 2010
- Posts
- 2
Thank you both replies!
Ozar, yes I am already reading this book, it is very good.
Rubberman, I have started to analize some drivers included in the kernel, and I also had downloaded the exemples of the book. Do you know where I can find more examples?
Thank you for the help!
PS: sorry for my bad english...
- 04-30-2010 #5Just Joined!
- Join Date
- Apr 2010
- Posts
- 2
also you can check toy os examples on internet.


Reply With Quote
