Where to get started?? I am interested in understanding how the kernel works but have no prior knowledge... Please help!!
Well, you could start by: - actually doing some homework - like perusing the information at https://kernelnewbies.org/ - putting a subject line in your email Just saying. On 3/16/20 7:07 PM, Sankalp Bhardwaj wrote:
Where to get started?? I am interested in understanding how the kernel works but have no prior knowledge... Please help!!
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- In theory, there is no difference between theory and practice. In practice, there is. .... Yogi Berra Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In our lab, theory and practice are combined: nothing works and no one knows why. ... unknown
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.ht... 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...
ULK by Bovet Cessati is the book u should start reading Sankalp On Tue, Mar 17, 2020, 2:44 PM Valdis Klētnieks <valdis.kletnieks@vt.edu> wrote:
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.ht...
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...
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
participants (4)
-
Miles Fidelman -
Sankalp Bhardwaj -
suvrojit -
Valdis Klētnieks