This time, I will explain what Kernel is and what its functions in practice. In Portuguese, the term “kernel” would be something like “core”. Although little commented, the kernel has a very important role for the functioning of a computer or server.
The kernel is considered the main operating systems item, which is the link between the Data processing and the software. Therefore, many consider it the “brain” of the computer. The kernel gained notoriety with the development of Linux, however, it is also present on systems such as Windows and macOS.
The Kernel is responsible for making the connection between the hardware and the software from the computer. Therefore, the main objective is to manage the machine and make the applications run through the existing resources on the computer.
Furthermore, the kernel is responsible for ensuring that RAM memory is used in the best possible way so that it does not pose any risk to the computer. She is also responsible for managing and optimizing the use of all available technical resources for performance.
In practice, when you turn on your computer, the kernel is immediately triggered and begins to detect the hardware that the machine has installed and what it needs to continue in its function.
The core then, after the operating system is loaded, also has the function of managing other issues, such as memories, files, among others, all this for ensure the organization and all features of the system.
Furthermore, the kernel can decide which of the currently running software should be allocated to the processor, or even processors.
In other words, the kernel is responsible for managing the operating system's resources and thus allowing applications (“software”) to make use of them. The operation is not simple, it is a very complex process, depending on the type of Kernel that your machine currently has. To get an idea, the kernel can be divided into monolithic, hybrid or microkernel. See the quick definition below in topics:
- Monolithic: Device drivers and also kernel extensions run in the kernel space, having full access to the hardware.
- Microcore: Some of the processes run in the kernel itself, however, the rest can run in the spare space. Allows you to dynamically switch between systems and keep more than one of them running simultaneously.
- Hybrid: It is considered a microkernel and has code in the kernel space so that the operations performed can be faster.
- Nanocore: It delegates virtually all services to device drivers, starting with the simplest, such as a timer. This makes the core memory requirement even lower than that of microkernels.
- Exonucleus: This type of kernel allocates the physical resources of the hardware, making software, for example, run on an exokernel and connected to a system library that also uses the exokernel to perform system simulations.
Hope this helps!
Share the article and leave your comments! 🙂