<div dir="auto">ULK by Bovet Cessati is the book u should start reading Sankalp</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 17, 2020, 2:44 PM Valdis Klētnieks <<a href="mailto:valdis.kletnieks@vt.edu">valdis.kletnieks@vt.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, 17 Mar 2020 04:37:58 +0530, Sankalp Bhardwaj said:<br>
<br>
> Where to get started?? I am interested in understanding how the<br>
> kernel works but have no prior knowledge... Please help!!<br>
<br>
A good place to start is to realize that the answers often depend on what the<br>
question is - and there's usually a difference between the question that is<br>
asked, and the question that the person needs the answer for. You probably<br>
want to read this:<br>
<br>
<a href="https://lists.kernelnewbies.org/pipermail/kernelnewbies/2017-April/017765.html" rel="noreferrer noreferrer" target="_blank">https://lists.kernelnewbies.org/pipermail/kernelnewbies/2017-April/017765.html</a><br>
<br>
Something that you'll need is a good understanding of operating system<br>
concepts. Almost all modern computer systems have some idea of basic concepts<br>
such as processes, files, a directory structure, security and permissions,<br>
scheduling, locking, and so on. And for most of these, there is more than one<br>
way to accomplish the goal.<br>
<br>
So two books that are useful to read for a compare-and-contrast view are Bach's<br>
book on the System V kernel, and McKusic's book on the BSD kernel - both go<br>
into details of *why* some things are done they are. It's really helpful to<br>
see stuff like "We need to lock this inode while we do X, because otherwise<br>
another thread could concurrently do Y, and then Bad Thing Z will happen".<br>
<br>
Of course, a Linux filesystem that does things differently won't have the same<br>
exact issues, but understanding the *sort* of things that break when you screw<br>
up your locking is quite the useful info, especially if most of your coding has<br>
been in userspace where single-threaded is common and libraries did their own<br>
locking when needed.<br>
<br>
I admit that I also learned a bunch from Tanenbaum's "Modern Operating<br>
Systems", but that was a long long time ago in a galaxy far far away, and I<br>
have no idea what the cool kids are reading instead these days...<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org" target="_blank" rel="noreferrer">Kernelnewbies@kernelnewbies.org</a><br>
<a href="https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" rel="noreferrer noreferrer" target="_blank">https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div>