<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jun 11, 2014 at 12:35 PM, Pranay Srivastava <span dir="ltr"><<a href="mailto:pranjas@gmail.com" target="_blank">pranjas@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">On Wed, Jun 11, 2014 at 11:58 AM, Prudhvee Narasimha Sadha<br>
<<a href="mailto:prudhvi.sada@gmail.com">prudhvi.sada@gmail.com</a>> wrote:<br>
> Hi,<br>
> My name is Prudhvee and I'm purusing my undergraduate second year. I'm<br>
> intrested in kernel development but I'm unable to understand how to get into<br>
> it.<br>
> Can you please help me to become a kernel developer.<br>
<br>
</div>I would suggest get the foundations right first and let's hope you know good C,<br>
tricks are good to know but you should be able to understand code<br>
written by others and be able to integrate the knowledge with what you<br>
already know.<br>
<br></blockquote><div>Agree. Ways to do this : -<br></div><div>1. Read/write/understand K&R C language.<br></div><div>2. To understand code written by others you have to start doing that. (I mean practice it).<br> <br>
</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
If you haven't used semaphores or mutexes in user space code then do<br>
that first, understand why is the need. For example why you need to<br>
have a sycall to get a semaphore<br>
but when working with pthreads you probably don't need that.<br>
<br>
Understand compiler and make it your friend. Errors you get while<br>
compiling, and things you can do for example why ((struct<br>
mystruct*)(0))->member fails when you run code but &(((struct<br>
mystruct*)(0))->member) works.<br>
<br></blockquote> <br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Basic idea is to get to understand how would you do it yourself, get<br>
some ideas in your mind see if they should work or not. You may be<br>
able to write code maybe without going through all that but in the<br>
long run it would help.<br>
<div class=""><br>
><br>
> I just want to know what I should learn and any suggested books to<br>
> learn kernel programming.<br>
><br>
<br>
</div>Take an operating system course first. Get to know the basics then you<br>
can try to understand kernel code. You can start with LDD, i think a<br>
new version is available now, but take an OS course in parallel or<br>
read yourself.<br></blockquote><div><div>Agree. Ways to do this : -<br>Get an OS course done, search for courses online, 2 of ones which I know are : -<br>1. <a href="http://www.cs.cmu.edu/~213/">http://www.cs.cmu.edu/~213/</a><br>
</div>2. CMUs OS course. <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class=""><br>
> Thank you,<br>
> Prudhvee.<br>
><br>
> _______________________________________________<br>
> Kernelnewbies mailing list<br>
> <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
> <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
><br>
<br>
<br>
<br>
--<br>
</div> ---P.K.S<br>
<div class=""><div class="h5"><br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</div></div></blockquote></div><br></div><div class="gmail_extra">- Rohan<br></div></div>