There are so many Linux distributions out in the wild, but there is only one thing that they are guaranteed to have in common: the Linux kernel. Yet while a lot of people talk about the Linux kernel, many don't really know what it does.

Let's take a look at Linux kernel and why it's needed, with as few geeky terms as possible.

What Is a Kernel?

A map of the Linux kernel's functions

Each operating system uses a kernel. Without a kernel, you can't have an computer that actually works. You may see and interact with a lot of different software, but it's the kernel underneath that does much of the grunt work.

The kernel serves as the bridge between your computer hardware and the software you wish to run. It talks to the hardware via the drivers that are included in the kernel (or installed later on in the form of a kernel module).

This way, when an app wants to do something (say change the volume setting of the speakers), it can submit that request to the kernel, and the kernel can use the available speaker drivers to actually change the volume.

The kernel is also highly involved in resource management. It has to make sure that there is enough memory available for an app to run and to place an app in the right location in memory. The kernel tries to optimize the usage of the processor so that it can complete tasks as quickly as possible.

Failures can lead to deadlocks, where the entire system halts because one app needs a resource that another one is using.

What Is the Linux Kernel?

It's technically incorrect to think of Linux as a complete operating system. Linux actually refers specifically to the kernel, named after founder Linus Torvalds. Everything else you see on screen comes from other projects and developers.

Torvalds created the Linux kernel in 1991. He initially named the project Freax (a combination of "free," "freak," and "UNIX"). A coworker preferred the name Linux, and that name stuck. Torvalds released the first Linux version in 1992 under a GNU copyleft license, which became a big part of the project's success.

Much of the Linux desktop experience comes from the GNU Project, an older initiative that had created a nearly complete desktop operating system. All it needed was a kernel, and Linux filled that need. This is why some people refer to the OS as GNU/Linux.

Other free and open source desktops, such as FreeBSD, look and feel like Linux because they run most of the same GNU software.

Since the Linux kernel was available under a GNU license, there was less interest in continuing to develop a separate kernel as part of the GNU Project. And rather than create other competing kernels, like those found in Windows and macOS, many companies have chosen to use and contribute to the Linux kernel instead.

The Linux kernel has grown into a massive project containing millions of lines of code. Thousands of people, and over a thousand companies, have contributed to the kernel's development. It is one of the most prominent examples of free and open source software in the world.

What the Linux Kernel Is Used For

While Linux remains a relatively niche desktop operating system, the kernel is widely used elsewhere. Thanks to Android, the Linux kernel now powers most of the world's smartphones. It appears in all kinds of mobile devices, including wearables and cameras.

Linux powers the 500 most powerful supercomputers and much of our internet infrastructure. When you think of the cloud, you're thinking predominantly of interconnected Linux-powered servers.

Linux began as a hacker's project, and while the kernel has seen near unimaginable corporate adoption, Linux still powers hardware for tinkerers. The tiny $35 Raspberry Pi is a Linux-powered computer the size of a credit card, completely open for people to modify and use in projects however they like.

It's not alone. Competitors like the Pine64 have helped to drastically reduce the price of computing.

How to Check Linux Kernel Version

The kernel remains under active development, so new Linux versions come out all the time.

The most straightforward way to see which release is on your machine, that will work across any version of Linux, is to use the

        uname
    

command. This is a command line tool that provides system information. You can find the Linux kernel version you're using by opening a terminal window and typing the following:

        uname -r
    

I am currently running Linux kernel version 4.20.16-200.fc29.x86_64. Let's break down what this means.

  • The 4 refers to the kernel version.
  • The 20 refers to the current major revision.
  • The 16 refers to the current minor revision.
  • The 200 refers to bug fixes and patches applied to this release.

The last bit will be specific to the distribution you are running. This string indicates that I am running a 64-bit version of Fedora 29.

Should You Update Your Linux Kernel?

For the most part, the Linux kernel operates quietly in the background. You don't know it's there, and you have little reason to think about it. For the most part, the best way to update your Linux kernel version is to upgrade to the latest version of your preferred Linux-based operating system.

New versions of Ubuntu and Fedora, for example, come out roughly every six months and bring with them a newer version of the Linux kernel.

While the kernel is largely invisible, there are a few reasons to upgrade to a newer Linux kernel. Unlike on Windows, Linux hardware drivers come bundled with the Linux kernel. So if you have a relatively new laptop with speakers, Wi-Fi, or a touchpad that your version of Linux doesn't yet detect, you may have to wait for a newer version. Releases also come with stability and speed improvements, so your computer may run more smoothly on one version versus another.

For more on this topic, take a look at why Windows shipping the Linux kernel changes things.