<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 19, 2023 at 11:49 AM Greg KH <<a href="mailto:greg@kroah.com">greg@kroah.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, May 19, 2023 at 01:24:18PM +0530, Deepak Goel wrote:<br>
> This link is good. However it is listing all the software which runs on<br>
> Linux-kernel. I want to know what's going on inside the Linux-kernel<br>
> (thread management, memory management, interface to devices, etc).<br>
<br>
What of the many free books and other online resources have you read<br>
that did not cover this well already?  Specific questions are best, and<br>
also, you have access to the whole source code of Linux, have you tried<br>
reading that and just following the basic code flows of something<br>
"simple" to understand this type of thing?<br></blockquote><div><br></div><div>Is there a tiered list of portions of the kernel to have a look at? I'm thinking of something like this:</div><div><br></div><div>* If you want to learn about USB drivers, have a look at the very simple foo-driver. Then, you could look at bar-driver. If you grasped all the concepts, have a look at veryadvanced-driver.</div><div>* For char drivers, you could start with this driver, then this other driver and end with...</div><div>* For block drivers...</div><div>* For network drivers...</div><div><br></div><div>I think this might be extended to core components of the kernel, although it might be a bit more complicated:<br></div><div><br></div><div>* For process creation and destruction have a look at this. For advanced topics, have a look at that (this would be specific code parts/snippets).<br></div><div>* For memory management, have a look at this for simple usage/understanding, and that for advanced topics.<br></div><div><br></div><div> Sometimes it can be a bit overwhelming to open foo.c and get lost in the details.</div><div><br></div><div>Do you know if there is such a list? Would it be difficult to create one?</div><div><br></div><div>Thanks,<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
thanks,<br>
<br>
greg k-h<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org" target="_blank">Kernelnewbies@kernelnewbies.org</a><br>
<a href="https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" rel="noreferrer" target="_blank">https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div></div>