DEV Community

Swayamprava Sahoo
Swayamprava Sahoo

Posted on

Linux from Scratch #2: Is Linux an Operating System or Just a Kernel?

When I first started learning Linux, I constantly heard two different statements:

  • "Linux is an operating system."

  • "Linux is just a kernel."

At first, I thought one of them had to be wrong. After learning how Linux actually works, I realized both statements make sense depending on the context.

Let's understand why.

What Is an Operating System?

An operating system (OS) is the software that acts as a bridge between users, applications, and the computer's hardware.

Without an operating system, applications wouldn't know how to communicate with the CPU, memory, keyboard, display, storage devices, or network hardware.

An operating system provides services such as:

  • Process management

  • Memory management

  • File management

  • Device management

  • Security and permissions

  • Networking

These services allow applications to run without worrying about the underlying hardware.

What Is a Kernel?

The kernel is the core component of an operating system.

Think of it as the manager that is always running in the background. Every program that needs hardware access must go through the kernel.

The kernel is responsible for:

  • Scheduling CPU time

  • Allocating memory

  • Managing devices using drivers

  • Handling filesystems

  • Managing processes

  • Enforcing permissions

  • Providing system calls

Applications cannot directly control hardware. Instead, they request services from the kernel.

Application
      │
System Calls
      │
Linux Kernel
      │
Hardware
Enter fullscreen mode Exit fullscreen mode

Then What Is Linux?

Technically, Linux refers to the Linux kernel created by Linus Torvalds in 1991.

The kernel alone cannot provide a complete user experience.

For example, the kernel cannot:

  • Let you type commands

  • Display directories with ls

  • Copy files using cp

  • Edit files

  • Browse the web

It simply provides the core functionality needed for these programs to work.

So Where Do Commands Come From?

Commands like:

ls
cp
mv
mkdir
grep
cat
Enter fullscreen mode Exit fullscreen mode

are not part of the Linux kernel.

Most of these commands come from the GNU Project, which provides many of the utilities we use every day.

The shell (such as Bash) is also a separate program that lets us interact with the kernel.

When you type:

ls
Enter fullscreen mode Exit fullscreen mode

the shell starts the ls program, which eventually makes system calls to the Linux kernel. The kernel retrieves the directory information from the filesystem and returns it to the program, which displays it on your screen.

What Is a Linux Distribution?

A Linux distribution combines everything needed to create a usable operating system.

A typical distribution includes:

  • Linux kernel

  • GNU utilities

  • Shell (Bash, Zsh, etc.)

  • Package manager

  • System libraries

  • Desktop environment (optional)

  • Applications

Examples include:

  • Ubuntu

  • Debian

  • Fedora

  • Arch Linux

  • Linux Mint

Each distribution uses the Linux kernel but packages it with different software and tools.

Why Do Some People Say GNU/Linux?

Richard Stallman and the GNU Project argue that most of the user-space tools come from GNU, while Linux is only the kernel.

Because of this, some people prefer calling the complete operating system GNU/Linux instead of simply Linux.

Others use the shorter name "Linux" because it is more common.

Both terms are widely used today, depending on the context.

How Everything Fits Together

+-----------------------------+
| Applications                |
+-----------------------------+
| Shell (Bash)                |
+-----------------------------+
| GNU Utilities               |
+-----------------------------+
| System Libraries            |
+-----------------------------+
| Linux Kernel                |
+-----------------------------+
| Hardware                    |
+-----------------------------+
Enter fullscreen mode Exit fullscreen mode

What I Learned

Before learning Linux, I assumed Linux itself contained every command I used.

Now I understand that the Linux kernel is only the core of the operating system. The commands, shell, libraries, and applications are separate software that work together with the kernel to create the complete Linux experience.

This also explains why different Linux distributions look and behave differently while sharing the same Linux kernel.

Conclusion

Linux is technically a kernel, not a complete operating system by itself. However, in everyday conversation, people often use the word Linux to refer to the complete operating system provided by Linux distributions.

Understanding this distinction helped me better understand how Linux works internally and why different distributions can share the same kernel while offering different user experiences.

In the next article, we'll explore how a Linux system boots—from pressing the power button to seeing the login prompt.

See you in Linux from Scratch #3!

Top comments (0)