<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">&lt;<a href="mailto:pranjas@gmail.com" target="_blank">pranjas@gmail.com</a>&gt;</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>
&lt;<a href="mailto:prudhvi.sada@gmail.com">prudhvi.sada@gmail.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;       My name is Prudhvee and I&#39;m purusing my undergraduate second year. I&#39;m<br>
&gt; intrested in kernel development but I&#39;m unable to understand how to get into<br>
&gt; it.<br>
&gt; Can you please help me to become a kernel developer.<br>
<br>
</div>I would suggest get the foundations right first and let&#39;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&amp;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&#39;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&#39;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))-&gt;member fails when you run code but &amp;(((struct<br>
mystruct*)(0))-&gt;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>
&gt;<br>
&gt;      I just want to know what I should learn and any suggested books to<br>
&gt; learn kernel programming.<br>
&gt;<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>
&gt;  Thank you,<br>
&gt;  Prudhvee.<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Kernelnewbies mailing list<br>
&gt; <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
&gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
&gt;<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>