Before you begin to use Linux, you need to be aware of certain terms like: Kernel, Bootlader, Window system, service etc.
Kernel
Kernel is the glue between hardware and applications. It controls hardware and allows applications to make use of the hardware.
Examples: Linux kernel
Distribution
A Linux distribution (or distro) is essentially the same as an operating system (OS) in the context of Linux.
Linux distro includes not only the Linux kernel (the core part of the OS) but also additional software, tools, libraries, and user interfaces that together form a complete, functional system.
Distributions are often customized for different user needs such as ease of use, security, or performance. Popular distributions include Ubuntu, RHEL, Fedora, and Debian.
If you want to know how kernel and distro work together, you can read this article: Understanding the Kernel and Distribution With a Restaurant Example.
Bootloader
A bootloader is a small program that runs when you turn on your computer.
The bootloader performs several essential tasks to get your computer running. Here are the top 5 things it does:
Initial Hardware Checks: basic checks to ensure the hardware (like CPU, memory, and storage) is functioning correctly before starting the operating system.
Loads the Operating System: It loads the operating system (like Linux or Windows) from storage into memory (RAM), so the system can run.
Configures the System: The bootloader may configure basic system settings and load required drivers to ensure the OS runs smoothly.
Manages Multi-OS Booting: If you have multiple operating systems installed (dual boot), the bootloader lets you choose which one to start.
Transfers Control to the OS: Once the OS is loaded, the bootloader hands over control, allowing the operating system to take over and run your programs.
Without the bootloader, the computer wouldn’t know how to begin running the OS.
Examples: GRUB, ISOLINUX.
If you are still not clear about role of booloader, you can read this article: Understanding Bootloader With a Toy Robot Example.
Service
A service in Linux is a background process that performs specific tasks or functions without needing direct user interaction. Services often start automatically during system boot and continue running to provide features like web hosting, database management, or printing. Examples include Apache (httpd) for web servers and MySQL for databases. You can manage services using commands like systemctl
to start, stop, or check their status. They are essential for keeping the system and applications running smoothly.
Filesystem
A filesystem in Linux is the method used to organize, store, and retrieve data on storage devices like hard drives or SSDs. It structures data into files and directories, making it easy to access. The filesystem also manages permissions, ensuring secure access to files.
Common Linux filesystems include ext4, XFS, and Btrfs.
A filesystem is not a program like a bootloader. It is a data structure and set of rules that define how data is stored, organized, and accessed on a storage device.
X Window System
The X Window System (or X11) is a graphical user interface (GUI) framework for Unix-like operating systems, including Linux. It provides the basic framework for managing windows. This enables users to interact with programs using a mouse, keyboard, and display. X handles tasks like window placement, resizing, and drawing on the screen, while the actual graphical applications communicate with X to display their content. It supports multiple desktops and remote access to graphical sessions.
If the X Window System weren’t present, Linux would only be able to display text-based interfaces (like the terminal or console). Users wouldn’t be able to interact with graphical applications (like web browsers or word processors) through a graphical desktop environment, making the user experience much less intuitive and harder to navigate. Essentially, without X, Linux would be limited to command-line operations, much like early computers before GUIs became common.
Do server OSs Have X?
Linux powers 90% of the public cloud workload 1 & Linux server OSs are the backbones powering them.
Most server operating systems do not include the X Window System by default. Servers run in headless mode, meaning they don’t have a GUI and instead rely on the command line for management and interaction. This reduces system resource usage and improves performance. However, X can be installed on a server OS if a graphical environment is needed.
Desktop environment
A desktop environment in Linux is a collection of softwares that provides a graphical user interface (GUI) for interacting with the system. It includes components like a window manager, panels, menus, icons, and applications that allow users to perform tasks visually, rather than using the command line. Popular desktop environments in Linux include GNOME, KDE Plasma, and XFCE. Each offers different features and user experiences, catering to various preferences in terms of look, feel, and performance.
If you are confused between roles of X11 and desktop environment, you can take a look at Differnece Between X Window System and a Desktop Environment.