Find the answer to your Linux question:
Results 1 to 5 of 5
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Unhappy 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

  2. #2
    Join Date
    May 2004
    arch linux
    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.

  3. #3
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    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!

  4. $spacer_open
  5. #4
    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...

  6. #5
    also you can check toy os examples on internet.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts