Find the answer to your Linux question:
Results 1 to 8 of 8
I am relativly new to linux as I have only been using for around three months. I am interested in the inner workings of the linux kernel. I was woundering ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Mar 2003
    Posts
    3

    a good book


    I am relativly new to linux as I have only been using for around three months. I am interested
    in the inner workings of the linux kernel. I was woundering what the best book on the linux
    kernel was for a begginer such as myself?

  2. #2
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    I don't really know how easy it is to find books on that, since most book stores don't sell them. Amazon might have something, if you look.
    If there's something specific you're looking for, I might very well be able to answer it for you, though.

  3. #3
    Linux Enthusiast
    Join Date
    Jun 2002
    Location
    San Antonio
    Posts
    621
    wow, Dolda, you are offering specifics on the linux kernel? That is a tall order. I would suggest reading the Linux Kernel Mailing List. Lurk around there for a while, picking stuff up as you see it, there is plenty of work to be done on it, and with a go-get-'em attitude you will have your name in lights (well, changelogs maybe) in no time. I haven't had the time to look into any specific part of the code, though I was reading through the VM pretty heavily a couple months ago when Ingo started getting the O1 scheduler committed and stuff. (ps the LKML can be found at kernel.org, or read on newsgroups, or groups.google.com)
    I respectfully decline the invitation to join your delusion.

  4. $spacer_open
    $spacer_close
  5. #4
    Just Joined!
    Join Date
    Mar 2003
    Posts
    3
    Thanks. I'll have a look at what amazon has to offer. I'm just looking for a book that gives a
    nice overview of how linux works on the inside that dosn't confuse me all that much.
    Do you think that is to advanced a subject for a begginer?

    thanks

  6. #5
    Linux Enthusiast
    Join Date
    Jun 2002
    Location
    San Antonio
    Posts
    621
    it depends. Usually when people say "I want to learn linux" they mean "I want to learn how to use linux to accomplish everyday tasks like email, writing papers, etc". If you want to learn how the lower level works, then the kernel is the right place to start. Be careful though, to understand the kernel you need to have a good grasp of C, Programming languages, programming paradigms, patterns, discrete math, optimization, algorithms, and data structures. If you don't already know these and want to get into the kernel you might be stepping in over your head. Get a good book on C, and learn C REALLY well, and you will be in a little better shape to tinker with the kernel.
    I respectfully decline the invitation to join your delusion.

  7. #6
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    Wow, let's get something straight here. I didn't intend to present myself in the image of a kernel hacker. I was just thinking that I have, after all, had a good run of the source, while he probably hasn't, and therefore I might be able to offer a little insight.
    I wouldn't say the kernel sources are as bad as wassy describes them, though. The more advanced subjects, like discrete math, hash tables, etc. you only need to know for certain parts of the kernel, like the checksumming algorithms or the IP FIB, or if you want to understand the more advanced optimization techniques used.
    There are other issues, though. First, like wassy said, you _really_ need to know C, or you will be in over you head. Also, you need to know a little bit about how the hardware works. For examples, you'll need to comprehend terms such as page table, IRQ, task gates (for IA32), MMU, descriptors and selectors etc. You can read about hardware memory management in the libc texinfo, under Memory and Memory Concepts. For even more low-level, like the bootstrapping procedure and descriptor table setup, you'll need to know assembler as well. (Has anyone thought of that assembler is probably the easiest language to learn? You'll need to know everything about the hardware, of course, but assembly language is _really_ simple.)

  8. #7
    Just Joined!
    Join Date
    Mar 2003
    Posts
    3
    Thanks for all the info. I now know a good place to start learning .I started learning C about
    a month ago. I have much to learn. I will have many questions along the way but i'm glad
    to know there are people willing to give advice to the clueless.

    Thanks.

  9. #8
    Linux Enthusiast
    Join Date
    Jun 2002
    Location
    San Antonio
    Posts
    621
    If you have any questions on C let us know, Dolda seems really well versed in a lot of the inner workings of C, and I think I have a pretty good grasp of it (though my education has been focusing more on processes than on product and optimization). Like you said though, it is great to find people willing to help, I know I have had my fair share of people willing to take that extra step to teach me the way on my path to "enlightenment" (not the window manager)
    I respectfully decline the invitation to join your delusion.

Posting Permissions

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