kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: arlie@worldash.org (Arlie Stephens)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Introducing Myself, Looking to Learn
Date: Tue, 3 Sep 2013 18:33:59 -0700	[thread overview]
Message-ID: <20130904013359.GA13530@worldash.org> (raw)
In-Reply-To: <SNT146-W7DCDFC4E2ACFF0DC6A0ECC8310@phx.gbl>

Hi Varad,

On Sep 04 2013, Varad Gautam wrote:
> 
> Hi!
> I want to start working on the Linux kernel but am an absolute
> beginner. I am currently on my way through Robert Love's Linux
> Kernel Development and need help with finding something I can work
> on to get a hang of what it's like. 

How much of a beginner are you? In particular, how much do you know
about operating system kernels in general? And how much
multi-threaded programming have you done, in situations where you have
to manage your own locking? 

If you don't have good practical understanding of concurrency, you
might want to do yourself a favour and do some work with a large
multi-threaded program until you've got practical experience with race
conditions, lock contention, and deadlocks.

Linux is a fairly mature monster. This means that the simple outlines
of what all OSes do tend to be obscured by layers of complexity. 
That's one some folks use BSD for their OS-kernel classes. You'll be
doing more digging in linux. Will you be comfortable with that? 


> I have also subscribed to the LKML, but find it completely
> incomprehensible! 

My question would be "incomprehensible how?" There's a lot of shared
context, which you won't have, and diffs aren't the best way to learn
what's in a piece of code. That level of "incomprehensible" makes
sense to me. 

Beyond that, there's learning you need to do.

> As a beginner, would it be better to work with the
> kernel of a specific OS (I'm running Ubuntu), or work on the
> upstream kernel? 

Pick one that you actually run - that way you're set up to try out the
results of your experiments, and more likely to encounter some problem 
that motivates you to attack it. Personally I'd prefer not to be
testing on my development system [hate it when that's unstable], but
if you aren't playing with hardware, VMs make great test
environments. 

Beyond that, my advice would be to do something trivial. How about a
kernel module that prints "Hello world"? It's useless, but you'll
start internalizing the build system. Then do something else trivial,
that let's you poke the kernel somewhere else. Eventually either it'll
start making sense, and your ambitions will increase - or you'll
decide you aren't having fun and try somethign else.

--
Arlie

(Arlie Stephens				arlie at worldash.org)

  parent reply	other threads:[~2013-09-04  1:33 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <SNT146-W615B5F3B1F38B082C8AB4DC8310@phx.gbl>
2013-09-03 19:29 ` Introducing Myself, Looking to Learn Varad Gautam
2013-09-03 20:22   ` Valdis.Kletnieks at vt.edu
2013-09-03 20:35     ` Varad Gautam
2013-09-03 21:24       ` Valdis.Kletnieks at vt.edu
2013-09-03 21:44         ` Robert P. J. Day
2013-09-04  5:22           ` michi1 at michaelblizek.twilightparadox.com
2013-09-04 13:41             ` Valdis.Kletnieks at vt.edu
2013-09-05 10:06               ` María Soler Heredia
2013-09-04 13:55           ` Valdis.Kletnieks at vt.edu
2013-10-28 10:40           ` Matthias Brugger
2013-11-14  3:50             ` Anand Moon
2013-09-04  1:00   ` Augusto Mecking Caringi
2013-09-04  1:33   ` Arlie Stephens [this message]
2013-09-04  2:28 Rakesh Ganimineni
2013-09-04  2:44 ` Greg Freemyer
2013-09-04 13:11   ` Varad Gautam
2013-09-04 13:06 ` Varad Gautam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130904013359.GA13530@worldash.org \
    --to=arlie@worldash.org \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).