LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices



Reply
 
Search this Thread
Old 05-19-2010, 10:47 AM   #1
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Rep: Reputation: 15
Need help to understand Linux Kernel


Hi,
I am MCA student who is quite interested in GNU/Linux. I have learnt to operate and configure numerous Linux distros and am quite comfortable with it(currently slackware). My other background information:
Things I know:
1. Know C/C++ quite well including data structures
2.Know AT&T assembly quite well including inline assembly
3.Know basic of networking but no formal training till now.
4.Did some amount of system programming(from Beginning Linux Programming)
Things I don't know:
1.Operating Systems- No formal training till now. Tried reading by myself the famous Tanenbaum's Operating system design and implementation but first attempt was failure. Didn't understand much of the stuff esp. Minix part.

Now I have 2 months vacation at my disposal and want to utilize it to know Linux well. I have both Linux kernel development by Robert Love and Understanding Linux Kernel by Orielly press. However I lose track after few chapters.
Kindly do guide me how should I proceed forward. I think I am approaching the subject wrong way. Or should i just abandon the work for some time and concentrate more on system or network programming(as i am interested in security too.)
Please only the person with experience with linux kernel reply.
Thanks in advance.
P.S.: I have also searched through google and this forum and found some good refrences like kernelnewbies site and other but what I need is the prerequistes required. Like for e.g. when they say 'address space', what it means in reality or code.
 
Old 05-19-2010, 02:27 PM   #2
JohnGraham
Member
 
Registered: Oct 2009
Posts: 467

Rep: Reputation: 138Reputation: 138
Have you tried Linux Device Drivers? I don't know how it compares to the other two books you mentioned, but it's very practical and gets you writing some code fairly quickly.
 
Old 05-19-2010, 04:36 PM   #3
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 3,919

Rep: Reputation: 779Reputation: 779Reputation: 779Reputation: 779Reputation: 779Reputation: 779Reputation: 779
Quote:
Originally Posted by dheerajsuthar2008 View Post
Please only the person with experience with linux kernel reply.
Is it really sensible to put this particular pre-condition on replies? Certainly it is not necessary to have kernel experience (and I don't think, in spite of what you write, that there is only one person with kernel experience) to help you with:

Quote:
Originally Posted by dheerajsuthar2008 View Post
Like for e.g. when they say 'address space', what it means in reality or code.
Although it is difficult to square the comment above with:

Quote:
Originally Posted by dheerajsuthar2008 View Post
1. Know C/C++ quite well including data structures
2.Know AT&T assembly quite well including inline assembly
 
Old 05-19-2010, 04:38 PM   #4
jf.argentino
Member
 
Registered: Apr 2008
Location: Toulon (France)
Distribution: FEDORA CORE
Posts: 492

Rep: Reputation: 50
Practice is the best way to learn something, and I think the easiest part for the linux kernel is device driver, you can learn many interesting aspect by understanding / writing devices driver. You already have some good pointers ("Linux Device Driver", "kernelnewbies"...). Know just found something to practice.
 
Old 05-20-2010, 01:48 AM   #5
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15
Thanks JohnGraham and jf.argentino!
I will surely try my luck this time with Linux device drivers. One of my friend has it, so I think I will borrow and try learning from it. Also I am also continuously browsing through the kernelnewbie site and think that its making some sense now.
Again thanks for your kind replies. Shall post any more progress of mine here.
 
Old 05-20-2010, 01:52 AM   #6
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 453Reputation: 453Reputation: 453Reputation: 453Reputation: 453
Quote:
Originally Posted by dheerajsuthar2008 View Post
...
Now I have 2 months vacation at my disposal and want to utilize it to know Linux well. I have both Linux kernel development by Robert Love and Understanding Linux Kernel by Orielly press. However I lose track after few chapters.
Kindly do guide me how should I proceed forward. I think I am approaching the subject wrong way.
...
Time to have some fun: http://www.linuxdriver.co.il/kernel_map .
 
Old 05-20-2010, 02:03 AM   #7
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by Sergei Steshenko View Post
Good one!.. Thanks
I also found another good link on forum.. Its related to OS in general:
osdever
 
Old 05-20-2010, 05:16 AM   #8
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 12,491

Rep: Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077Reputation: 1077
Best advice I saw was find something (small) that you are interested in and concentrate on that.
Else you'll just get frustrated. Lots of options - VFS, drivers (IDE, SATA, USB, Video, ...), memory management (allocation, sharing, paging, swapping), filesystems (pick one ...), virtualization ...

I like kernelnewbies - good concept.
 
Old 05-20-2010, 10:30 AM   #9
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by syg00 View Post
Best advice I saw was find something (small) that you are interested in and concentrate on that.
Else you'll just get frustrated. Lots of options - VFS, drivers (IDE, SATA, USB, Video, ...), memory management (allocation, sharing, paging, swapping), filesystems (pick one ...), virtualization ...

I like kernelnewbies - good concept.
thanks syg00!
Well that's true.. I have decided to start first with drivers as most of the members on thread have advised me to do so. I have also brought the linux device drivers and will start reading in night. Also have bookmarked kernel newbies will check it out now and then. Hope, will achieve something good in these vacations. Thanks again for all of your kind replies. Moderators can kindly close the thread.
 
Old 05-20-2010, 10:34 AM   #10
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 714Reputation: 714Reputation: 714Reputation: 714Reputation: 714Reputation: 714Reputation: 714
Quote:
Originally Posted by dheerajsuthar2008 View Post
Moderators can kindly close the thread.
Mark the thread as Solved (in Thread Tools).
 
  


Reply

Tags
assembly, kernel, linux, programming, system


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
trying to understand kernel config class_struggle Linux - General 5 05-06-2010 03:55 AM
Trying to understand kernel modules glenn69 Linux - Newbie 4 08-14-2008 07:18 PM
What way is best for understand OS (linux or unix) kernel structure Nad0xFF Programming 11 04-06-2005 02:19 PM


All times are GMT -5. The time now is 01:29 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration