!!!Because of misleading informations please wait for the new post about this same argument instead of reading this post!!!
Today we will start the first of many lessons about compiling a Linux Kernel to better understand how a computer works
We will start off with some theory...a lot of theory...
Now...since this is quite an advanced thing I will try to keep it as simple as I can but I if it won't be enough simple just tell me in the comments and I will try harder next time ;) .
In this lesson we will see the general tasks of a Kernel.
We often talk about Linux as an Operating System (OS)...the truth is it isn't:
it basically is the main software (the heart) of a GNU/Linux OS..."but wait you just said that Linux isn't an OS!" True...that's why we call it GNU /(and) Linux...GNU provides a part of the software(text editor, calculator, etc...) while Linux provides the other (the Kernel)
First of all a Kernel recognizes the hardware when we turn on our computer...but why?
Well...I am sure at least once you saw one of those pop-ups from a website or a program asking you to access the
microphone or web cam, or whatever else...that's the Kernel.In other words it controls the requests
to access the hardware.The Kernel also tells the CPU how much time to give to each opened process.
Again...Good question!!(I assume you already know what compiling means... if not leave a comment)
A Kernel needs to be compiled (that's why the computer asks to be rebooted) every time we:
- add functionalities to our OS
- update the Kernel itself
There are multiple Kernel types but the main one is the Monolithic one (Mac OS, Windows (even if Microsoft claims to use an "Hybrid Kernel"...
more of that in the next part), Linux, and many...many others OS have this type of Kernel).In the Monolithic Kernel there are already all
the necessary parts needed to use the system in one single software running in the Kernel space (where drivers are usually executed).
The drivers are usually included in the kernel as modules so you won't need to recompile the Kernel when you update or modify them.
So...I am going to stop there for your mind sake (you're welcome)
As you can see i try to be as brief as possible...drop a comment if you don't understand something or want to actually know something
Thanks for reading
See you in the next part :)