Skip to content

2.What is the Kernel

Understanding the Linux Kernel & What Linux Actually Is

Linux is often referred to as an "operating system," but in reality, Linux is just a kernel. To function as a full operating system, it requires additional tools and software.


1. What is a Kernel?

A kernel is the core component of an OS that manages hardware and system resources.

Functions of a Kernel

  • Process Management – Controls running programs (scheduling, multitasking).
  • Memory Management – Allocates RAM and manages virtual memory.
  • Device Management – Interfaces with hardware (drivers for storage, network, etc.).
  • File System Management – Organizes and manages data storage.
  • Networking – Manages network protocols and communication.

2. What is Linux?

  • Linux is just a kernel, meaning it handles hardware interaction but lacks a user interface.
  • To make it usable, Linux is combined with GNU tools, libraries, and software, forming a Linux distribution (distro).
  • Popular distros: Ubuntu, Fedora, Debian, Arch Linux.

3. Tools Used to Build a Linux-Based OS

A Linux-based OS is built using multiple components, including:

A. GNU Utilities & Core Tools

  • Bash (Bourne Again Shell) – Command-line interface.
  • GCC (GNU Compiler Collection) – Compiles source code.
  • Make & CMake – Build system automation.
  • Coreutils – Essential UNIX utilities (ls, cp, mv, rm).

B. Init Systems (Process Management)

  • Systemd – Modern, widely used init system (Ubuntu, Fedora).
  • SysVinit – Older init system (used in older distros).
  • OpenRC – Lightweight alternative (Gentoo, Alpine).

C. Package Managers

  • APT (Debian/Ubuntu) – Manages software packages.
  • YUM/DNF (Fedora, RHEL) – Handles RPM-based packages.
  • Pacman (Arch Linux) – Manages software in Arch-based systems.

D. Desktop Environments (GUI Interface)

  • GNOME – Used in Ubuntu, Fedora.
  • KDE Plasma – Feature-rich and customizable.
  • XFCE/LXQt – Lightweight options for older hardware.

E. File Systems

  • EXT4 – Default Linux filesystem.
  • XFS, Btrfs, ZFS – Advanced filesystems for different use cases.

4. How Linux OS is Built

  1. Kernel Development – Linux Torvalds & community maintain the kernel.
  2. System Libraries – GNU and other libraries provide system functions.
  3. User Space Programs – Shell, utilities, package managers, etc.
  4. Distro Packaging – Everything is bundled into distributions like Ubuntu, Fedora.

Linux itself is just the kernel—the OS is the combination of the kernel and supporting tools. This principle is expanded into 3.Linux Distrobutions. You can build your own OS if you wanted to by using a linux kernel and building your own custom tools which works with the kernel (Obviously impossible alone).

          ┌─────────────────────┐
          │   Operating System  │
          └──────────┬──────────┘
                     │
          ┌──────────┴──────────┐
          │                     │
┌─────────▼─────────┐  ┌────────▼─────────┐
│    Linux Kernel    │  │ GNU Utilities &  │
│                    │  │      Tools       │
└─┬────────┬────────┬┘  └┬────────┬───────┬┘
  │        │        │    │        │       │
┌─▼──┐  ┌──▼─┐  ┌───▼─┐ ┌▼──┐  ┌──▼──┐  ┌─▼─┐
│Proc│  │Mem │  │Dev  │ │Bash│  │GCC  │  │Core│
│Mgmt│  │Mgmt│  │Drvrs│ │Shell│  │Comp │  │Utils│
└────┘  └────┘  └─────┘ └────┘  └─────┘  └────┘
                │       │                  │
             ┌──▼─┐  ┌──▼──┐            ┌─▼─┐
             │File│  │Pkg  │            │DE │
             │Sys │  │Mgr  │            │   │
             └────┘  └─────┘            └───┘
                │
             ┌──▼─┐
             │Net │
             │    │
             └────┘