Actually, Jas (& welcome
@pineapple ), I was wondering what you make of this one?
https://linuxhint.com/linux-kernel-tutorial-beginners/
I find it quite easy to understand, but, although it claims to have been written 8 months ago, it is obviously dated, perhaps cobbled together over time, or edited, un-annotated, with its references to Fedora 13, and also to kernel 3.17. We are up to 4.16.9 now, with LTS (long term support) being on 4.14 I think?
v3.17 is around about the time of the Shellshock Bug of late September 2014.
Still, it has some useful links, so may be of use to the OP.
Cheers gotta fly
Chris Turner
wizardfromoz
There are some dated references in there to old versions of the kernel and Fedora. But a lot of the information is quite generic and is worded in fairly plain, everyday English, without too many technical terms. So some of it might be useful - as a brief high level overview. But there are some problems and minor inaccuracies in the article.
Some sections are woefully incomplete - like the sections on building and updating the kernel from source. And in others, the information is just slightly wrong. Either through the authors own misinterpretation of the subject, or through a bad choice of words which makes the information incorrect, or ambiguous/open to interpretation.
For example, take the section entitled "The modular kernel":
The modular kernel
Previous versions of the Linux kernel were in such a way that all their parts were statically fixed into one, monolithic. However, modern Linux kernels have most of their functionality contained in modules that are put into the kernel dynamically. This in contrast to monolithic types, is referred to as modular kernels. Such a setup allows a user to load or replace modules in a running kernel without the need of rebooting.
From some of the sentence structure - particularly the opening sentence - it is obvious that English is a 2nd language to them. And kudos to them - they have a pretty good grasp of the English language and a wide vocabulary.
Perhaps it is simply the case that the author is unable to accurately convey what they are trying to say in places.
But the wording of the paragraph implies that the kernel used to be monolithic, but now it's modular and therefore NOT monolithic any more. Which isn't entirely accurate.
OK, Yes - years ago everything was built directly into the kernel into one truly monolithic executable. It was monolithic in every way!
And yes - the kernel is more modular nowadays. Certain drivers/sub-systems have been separated out into their own loadable kernel modules that can be loaded, or unloaded on demand.
But the Linux kernel is
still considered a monolithic kernel because the main kernel executable and
all of it's modules are loaded into a single process and share the same address space. So although it's more modular than it used to be, Linux is still a monolithic kernel.
But there is a lot of other information in that post. So it's got its pluses and minuses! The author obviously spent a lot of time working on it.