·

Meet the Linux Kernel: The Boss behind every Linux System

In one of my new years resolution for 2026 I said to myself that I’d be reading more books, to further my vocabulary and skills. That is a ever evolving aspect I’d like to chase my whole life.

In that pursuit I recently picked up a Book called “How Linux works: What every superuser should know” from Brian Ward:

It goes pretty deep into, what a coincidence, Linux in general. And the heart of it all is obviously the Linux Kernel – since I have always heard about “Kernels” but never really understood it in detail, I gave myself the challenge to break this down in this blog.

/introduction

If you have ever used an Android phone, browsed a website or streamed a movie, you’ve almost certainly relied on Linux without even knowing about it – Friends and Family today don’t even know that most of the Internet runs on something called Linux. It runs quietly in the background of it all in modern technology. And as previously mentioned, in the center of it all, that does most of the heavy lifting is the kernel

/what is the linux kernel?

A kernel is a program in the core of an operating system. It’s the second thing that loads when your computer boots, and keeps it running the entire time your machine is on. The first, just fyi, is the bootloader. That in itself does a lot of things but one part is, fetching the Kernel and copying it into the RAM.

Here’s a common point of confusion: Linux and the Linux Kernel aren’t quite the same thing. Strictly speaking, “Linux” is the kernel. What most people, and me included, call “Linux” (Ubuntu, Fedora, Debian etc.) is a complete operating system built around that kernel and bundled with a desktop, applications and tools. Those bundles are called distributions, or also refered as distros. Every one of them, no matter how different they look, runs the same family of kernel underneath.

A metaphor I’d use to describe it simpler is: Think of the kernel as the manager of a busy restaurant. Customers (the applications you’re running) place orders but they never walk into the kitchen themselves. The manager takes every request, decides who gets served first, talks to the kitchen staff (the hardware), and makes sure nobody walks off with someone else’s meal.
-> Without the manager, everything here would be chaos, and thats the kernel.

/what does the kernel actually do?

The kernel as people in the industry may know, does a lot of things at once. We could group them into:

CPU and process management – Your computer runs a dozens of programs perceived as “at the same time”, but a process can only do so much in any given moment. Here I’d like to reference and quote the book above: “Consider a system with one-core CPU. Many processes may be able to use the CPU, but only one process can actually use the CPU at any given time. In practice, each process uses the CPU for a small fraction of a second; then another process uses the CPU for another small fraction of a Second, then pauses; then another makes a turn , and so on
This behavior of one process giving up control of the CPU and pausing etc. is called a “context switch”, and each piece of time in this procedure is called “time slice”. It gives a process the right amount of time and significant computation.

Memory management – Ever running program needs space in the RAM. Every context switch from the process management before needs memory management. The kernel hands out that space, tracks who has what, and reclaims it when a program closes, a bit like a librarian assigning desks and clearing them when people leave.

Device Drivers and Management – Beyond just translating, the kernel keeps track of every device over its whole life on your system. It detects hardware the moment it appears, loads the matching driver, hands out the resources the devices needs and cleans up when it’s unplugged. This is what makes plug and play work, like using an USB.
Good to know is, that the devices are normally accessible only in kernel mode because if something bad would access, for example the process of asking to turn off the power, the system could crash the machine.

System Calls – Since appss aren’t allowed to touch hardware directly, the kernel offers a fixed menu of services they can request. Things like “open this file”, “give me more memory”, or “start a new program”. A request like this is called a system call (or short syscalls), and handling them is one of the kernel’s core jobs. It checks that the request is allowed, does the privileged work and passes the result back.

There are two syscalls that are important to understand:
– fork(): this syscall creates an almost identical copy of the process it needs
– exec(): when this syscall is called, the kernel loads and starts the program, replacing the current process

When you enter “ls” into the command line to show a content of a folder, the terminal calls fork() to create a copy of the shell. Then the new copy of the shell calls exec(ls) to run “ls” in your terminal.

In the book there is a handy picture that looks like this (badly drawn by my ASCII skills):

/why the linux kernel is important

There are a lot of reasons for why this matters in practice:

/useful linux terminologies

A few terms you will likely bump into as you go:

/conclusion

The kernel is the part of Linux you’ll rarely see but always depend on. It manages your processor and memory, talks to your hardware, organizes your files and keeps everything secure, all while going unnoticed by everyone.

You don’t need to understand every line of kernel code to use Linux well. But knowing what the kernel is and what it does gives you a mental map of how the whole system fits together.

So the next time you are on a linux machine, open the terminal and run uname -r to see which kernel version you’re on right now. Or just use fastfetch as everybody else, which is way cooler looking.