2013/9/3 Robert P. J. Day rpj...@crashcourse.ca:
On Tue, 3 Sep 2013, valdis.kletni...@vt.edu wrote:
On Wed, 04 Sep 2013 02:05:42 +0530, Varad Gautam said:
Hi Vladis! Thanks for replying. I think I would be fine with
writing real code once I figure out what goes where.
Well, assuming you have a background as a professional or very
serious amateur programmer, *and* you have a *particular* drive to
do something specific. There's still a lot of code being added by
amateurs who have some weird USB device that doesn't have a driver
and so on - but there's less and less room for beginners that just
want to hack code and don't care where. Data structures and
algorithms have gotten more complex, the locking is more
fine-grained and subtle - gone are the days you could just take the
Big Kernel Lock and not worry, now you ofteh have to understand
stuff like RCU locking.
So you might want to stop and ask yourself *why* you want to write
code for the kernel. :)
i'm going to jump in here since i see this question annoyingly
frequently -- i'm new to the kernel and i want to get involved and
write code; how do i start? to be blunt, if that's your starting
point, you're not ready to write code for the kernel. period.
as vladis quite correctly points out, gone are the days when there
was piles of simple coding to be done. most of the kernel is well
established, solid and stable, and ongoing development is *very*
advanced. in other words, there's less and less room for enthusiastic
beginners. but there's more.
at the very least, you should have an idea of what part of the kernel
interests you most. if you can't even identify which major subsystem
-- networking, USB, video, etc. -- you want to work on, you aren't
even *remotely* ready to start writing code.
it's somewhat absurd to say you want to get involved in kernel
development, then ask *others* where you should start. it's like
saying, i really want to write a book, but i have no idea what i
should write about. can you give me some ideas for a plot? and
characters? and possibly an ending? yes, it's that silly.
if you're a beginner, then the obvious starting point is to start
reading. and read. and read. and when you're done reading, read some
more. and slowly, you'll figure out what interests you most. and
that's where you then spend your time.
Basically my answer to this kind of questions is, to start reading
LDD3 [1] try to figure out what have changed and try to get the source
code examples work with a newer kernel [2].
[1] http://lwn.net/Kernel/LDD3/
[2] https://github.com/martinezjavier/ldd3
Cheers,
Matthias
rday
--
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
--
motzblog.wordpress.com
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies