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