
Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code. While the book discusses topics that are theoretical, it does so with the goal of assisting programmers so they better understand the topics and become more efficient and productive in their coding.The book discusses the major subsystems and features of the Linux kernel, including design and implementation, their purpose and goals, and their interfaces. Important computer science and operating system design details are also addressed. The book covers the Linux kernel from both angles -- theoretical and applied -- which should appeal to both types of readers.The author is involved in Linux kernel development, so the latest kernel version is detailed, as the author has access to the not-yet-released development releases.Specific topics covered will include: all the important algorithms, relevant subsystems, process management, scheduling, time management and timers, system call interface, memory addressing, memory management, paging strategies, caching layers, VFS, kernel synchronization, and signals.
For example, you can read all of the Linux source code to become expert in most areas: networking, scheduling,... (except AI/ML) But difficult to achieve without a good structure or you can read a book about Linux kernel development (e.g. Linux Kernel development, old book by Robert Love) and get more up to speed
in fact, cbt-i, the therapy I undertook last year and earlier this year, takes advantage of this to help patients mitigate their insomnia.[0]
the treatment protocol requires that you get out of bed and literally go anywhere else when you wake up at night. you can do almost anything you want during that time, even watch TV or play games! (i read hacker news or read "linux kernel development" by robert love; if you're on here, thanks!)
given this, it's not surprising that our ancestors divided their sleep into two halves. our circadian rhythms are naturally programmed to sleep when it's dark and stay awake when it's bright. i could imagine that their circadian rhythms were more "in tune" before electricity.
[0] "insomnia" isn't curable and can happen to everyone! it's more of a state of being than a condition or disease.
Although it's based on 3.x kernel, it still is pretty relevant.
Good Luck!
The bigger concern is that it doesn't seem like the map is even close to complete. For example, the VFS (virtual file system) is made up of files (open file descriptions), inodes (representing files on disk), and dentries (representing the file system tree/DAG). Probably others things I'm missing too. The area of this page describing vfs only seems to mention files and inodes, and it strangely mentions fsnotify, which is definitely an important subsystem, but not a fundamental data structure like a dentry.
I would imagine people wrote articles about topics, and they got categorized into this very cool visualization. But it's not as if it represents everything, just the things the contributors of the site were working on. It's still very cool, but don't expect that this is a comprehensive overview of the kernel, or that all the major parts of a particular area are listed here.
Edit: but that said, resources from 2010 or earlier can be quite useful. I have a cherished hard copy of Understanding the Linux Virtual Memory Manager[1] which was released in 2007 about Linux 2.4, and I regularly rely on it and its concepts. I have another beloved copy of Linux Kernel Development 3rd Ed. (2010) [2] which is how I learned a ton of fundamentals. Ultimately, it's not about the age of the resource but the concepts behind it :)
[1]: https://www.kernel.org/doc/gorman/pdf/understand.pdf [2]: https://altair.pw/pub/doc/unix/Linux%20Kernel%20Development%...
Get knowledge of operating systems ( I like the minix book by tanenbaum ). Learn about Linux internals ( I like linux kernel development by Robert love)
Then, pick bits you’re interested in and jump !