What is Kernel

What is Kernel

The kernel (English: Kernel) is the heart of the operating system in the world of computer systems. We will explain a bit about the operating system in a very schematic way, the operating system is basically software designed to manage the computer’s hardware resources (hardware = all the physical parts “in the box”) and also the software in it and functions as a bridge between hardware and end user.

The operating system is divided into three main parts:

What is Kernel

This is a layer of software “closest” to the hardware and handling of computer resources in relation to the requirements that come from the operating system and the various programs that run in the system and require resources. Application Programming Interface (API) – In our context, allows the end user to run commands into the operating system.

Driver –

This is computer software that is responsible for the interaction of the operating system and external hardware components and their software (such as printer, mouse, etc.).

On the difference between Microsoft and Linux systems

The operating systems commonly used today on computers and servers are mainly divided between Microsoft and Linux. Microsoft operating systems are considered closed source systems compared to Linux systems which are considered open source. The main idea behind the world of linux is the free distribution of a system core to anyone who requires it. It gives freedom of work and flexibility to create systems that are tailored to certain requirements and is also a system without a license fee (unlike Microsoft systems that provide a finished product without great flexibility and require a considerable fee). But from there to running an active and ready-to-use linux system there are a number of other component and subsystem installation operations (according to the needs required, and there will usually also be paid licenses and components). The Linux kernel can run on a large variety of processors and supports a wide range of platforms and devices, and is used in a variety of systems, from Android-based devices, PC stands to servers of all sizes. The core of the Linux system was created by the founder Linus Turbalds in 1991 and over the years thousands of software developers from around the world have contributed and are contributing their share in preserving and improving the core of the system. The world of Linux systems and open source systems are very dynamic and new. In the morning, software and hardware updates come out at various levels in the system hierarchy (core updates / modules / extensions, etc.). The core of the system is responsible for process management, resource management, device management (peripherals for example) and memory management (RAM). The system works according to requests called “system call” that reach the computer / server components to the core of the operating system and it provides the answer according to the ability and priorities. Linux systems use the monolithic kernel method, which allows a mode of running multiple services in parallel with the main core service and thus has extensive access and optimal utilization of server resources.

We’ll move on to some practice

After installing the Linux kernel it is necessary to continue installing Kernel Modules according to my needs. With the help of the command interface (this is also the shell also known as Bash) and the installation of additional packages such as yum-install or apt-get, the required procedures for downloading the packages and software can be performed.

Kernel Commands and Paths:

The parent folder in the / proc / path is responsible for everything related to the kernel on the Linux server. This folder contains the entire kernel structure, logs, settings, tools and more… The kernel configuration files are in the path: / proc / sys / kernel / The modules that make up the kernel drivers are located in the path: / lib / modules / The # uname -r command will provide information about the existing kernel version of the system. The # lsmod command will give us data on all the existing modules in the system. The sysctl -a # command will provide the data on the current kernel settings