Linux Technology Explained

What Is a Kernel in Linux and How Do You Check Your Version?

Bertel King Updated 11-04-2019

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 Why Hardly Anyone Calls Linux "GNU/Linux" You're interested in Linux and have read a few blog posts. Along the way, you've come across a funny name: GNU/Linux. But what does this mean? Read More .

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 5 Surprising Ways Linux Is Changing the World From hosting popular websites to the future of science and space travel, Linux is furthering the development of our world, and our understanding of the universe. Read More . 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 Why Windows Shipping the Linux Kernel Changes Everything Want to run Linux in Windows? Thanks to the Windows Subsystem for Linux it's even easier. Here's why this is important. Read More .

Related topics: Linux Kernel, Open Source.

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Arthur
    April 18, 2019 at 3:18 pm

    Would say it's the other way around. Thanks to Linux, Adroid is here there, everywhere.

    The kernel can be adapted to "just about anything" by e.g stripping it to support only the hardware/software combination one actually need. That will also improve security if done properly. Less code, less code errors.

    A properly stripped kernel will also be more efficient which means more resources to the actual usage of applications.

    As regards to Gnu/Linux desktops the brilliance is in the simplicity of the structure with quite crisp separation between layers. Picking the right distribution caters for a kernel that provide only what's needed, and desktops can be trimmet to provide only what the users want/need.

    If kernel and desktop is optimalised properly one could get away with lower spec hardware and/or extend life of hardware.

  2. John doe
    April 12, 2019 at 2:02 pm

    only first few lines tell about the kernel, that too vaguely.
    I still could not understand what a kernel is.

    • John W Brown
      April 13, 2019 at 2:52 am

      Look at a ( pop) corn seed, pointy side down.

      The dirt you put it in is the hardware (laptop, desktop, phone)

      The little point part, the kernal (kernel hardware drivers) is what makes direct contact with the dirt (hardware).

      The big yellow part that puffs up with use is the application software.

      Software - applications - written in languages such as BASIC or Java have no way to write to the hardware directly. They are not allowed direct write access to the chips or memory location.

      They make kernel calls (locations in the Linux software) that carry out the talking to the hardware.

      The kernal calls, in turn, many times jump to the hardware drivers with a set of parameters (data) that the driver understands.

      The driver many times is written in machine / assembly language. This is what directly accesses the hardware.

      So, when you write a program that says

      Print "hello world"

      it cascades down as such

      Print "hello world"
      Calls desktop software
      Desktop software calls the kernel
      The Linux kernal jumps to a place within itself that holds the code (hardware drivers) that does the actual printing and accessing the registers in the display chip.

      When the task is done, the control returns (RTS return subroutine) to the BASIC program which executes the next line. Which in this case would be end or stop .