People use Linux every day. Today almost all electronic products are built on Linux and the most popular ones are Android devices. Every day almost 850,000 Android devices are activated which is the largest compared to any other mobile devices manufacturer such as Windows Phone, iPhone, etc.
It’s not just smartphones that Linux runs but every other gadget from your TV to a refrigerator is running on Linux. So how is this all possible and what is Linux all about? Let’s talk about this. Before identifying the main functions that the famous Linux Kernel has, it is vital to define what is the Linux Kernel.
What is the Linux Kernel?
The Linux Kernel is the heart of the operating system. Without the Kernel, we simply can not perform any task, since it is mainly responsible for the software and hardware of our computer working correctly and can interact with each other.
Linux history – A little history
The Linux kernel was launched in 1991 by Linus Torvalds and was the trigger that started with the development of Linux as we know it today (you can check out the full story of its development at linuxfoundation.org). The Kernel is a relatively small part of the software that makes up a complete Linux system but it is the part that determines how well the system will work and is the truly unique component of Linux. It is also one of the projects that have more collaborators and developers than any other Open Source project. In addition, it is very well documented since, since 2005, it uses the Git source code management system. If you want to know all the Linux documentation you can check it on the Linux Foundation website.
The first version of the Linux kernel was 0.01, launched in 1991 and the first stable version was 1.0.0. From then on it has followed its evolution with the help of thousands of developers around the world and until now it continues in versions 4.x, in addition, stable updates are released every two or three months for users. If you want to know all the versions, patches, updates and changes you can visit The Linux Kernel Archives.
After version 2.6, the Linux kernel has undergone certain changes in its identification nomenclature, since in the past it was identified with three numbers that indicated the series, the version, and the revision in that order. Now, this identification is given by 4 numbers separated by points: AA.BB.CC.DD, where:
- AA: This number indicates the Kernel version.
- BB: With this number, we can know the current revision of the kernel.
- CC: It gives us information about whether the kernel has minor revisions. This number changes when new driver support is added or new features are added to the Kernel.
- DD: This figure is an indicator of updates and correction of failures in the Kernel and changes when a correction task is performed.
The main functions of the Kernel are the following:
- Manage RAM memory, so that all programs and running processes can work.
- Manage the processor time, which is used by running processes.
- Manage access and use of the different peripherals connected to the computer.
Where to find the Kernel?
All Linux distributions come with an integrated Kernel, which can be automatically updated by our distributions. All these cores are based on the basic Kernel called Vanilla, supplied directly by Linus Torvalds, from the servers of the organization Kernel.org. In this direction, we can access different repositories in which the Kernel Vanilla can be obtained quickly.
If we want to install this Kernel, we must download it and configure it manually. It is a somewhat cumbersome operation, which requires being an advanced user, so if you are a novice user, it is better to update the Kernel by automatically applying your favorite distribution.
What is the Kernel in Android?
Android uses a variation of the Linux kernel but the essence is the same as in this one: it is the core of the system and the one in charge of bridging the hardware components and the applications.
As responsible for mediating between the hardware and the system, the Android Kernel includes a series of vital components such as screen controllers, audio controllers, integrated cameras or energy management.
This is why those who like to try different ROMs often also experiment with different Kernel versions created or modified by the community. A third-party kernel can include performance enhancements, allow overclock (increase the clock frequency of the processor) or add support for functions that were not included in the factory kernel (such as tethering, for example).
For the user on foot, the version of the Kernel is not very relevant because it is the one that was distributed with the latest version of the system (or ROM) that has been installed on the device, and little else you can do about it. Although it includes the date in which the Kernel was compiled, really having a few months is not a problem if no error has been detected in it. In kernel versions, a larger number is not necessarily better, since Android kernels are generally based on three versions of Linux Kernel: 3.4, 3.10, and 3.18. It does not make sense, therefore, to install a Kernel just because it is more “new”. The reasons should be other, such as performance optimizations or improvements in battery life.
In short, the Kernel is the heart of Linux and also one of the largest and most important open source development projects, as there are already large companies that help with their development or economically as IBM, Google, Red Hat and Texas Instruments. One of the advantages of the Linux kernel is that it is possible to update it without affecting the rest of the operating system, with a couple of commands (using the root user) in the Terminal. We would achieve this in a couple of minutes or even more simple through the Software Center, although this depends on the distribution that we choose. By updating only the system’s kernel, we would have not only more stable but also safer and faster equipment, all in several minutes.
This is basically a kernel and what it does in the Linux operating system, neither more nor less. I hope you have resolved your doubts and see you in the next Linux kernel series we will be discussing the difference between the Linux kernel and mac kernel.