What is Linux?

Woman working on her laptop inside a control room

Authors

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

What is Linux?

Linux is an open source operating system (OS) based on Unix. It runs on computers, servers, mobile phones and a wide range of other devices.

Since its invention in 1991, it has become 1 of the most widely used operating systems in the world, providing a free alternative to other operating systems that are proprietary, such as Microsoft Windows and macOS.

Linux was developed by Linus Torvalds to be a Unix-like alternative to Unix, 1 of the first operating systems ever built. It relies heavily on the Linux kernel for its functionality. In an OS, the kernel is a computer program that allows users to control the system's hardware and software. In addition to the kernel, the Linux OS uses various components, such as system libraries and space utilities, but they all rely on the kernel to communicate and receive commands from users.

3D design of balls rolling on a track

The latest AI News + Insights 


Discover expertly curated insights and news on AI, cloud and more in the weekly Think Newsletter. 

What is the Linux kernel?

The Linux kernel is a free, open source kernel used by all devices and systems running the Linux operating system. The kernel is a computer program that connects hardware and software, allowing users to manage different system components, including networks, file systems, drivers and more.

Kernel design is critical to preventing conflicts and maintaining the stability of important processes that make a computer system function, such as input/output (I/O), computer processing unit (CPU) usage and the execution of applications. The Linux kernel is renowned for its flexibility, stability and high performance, and the Linux OS has become 1 of the most popular OS in the world, largely because of the effectiveness of the Linux kernel.

In the Linux OS, the kernel is combined with software packages and utilities to make up Linux distributions that enable users to operate their computers safely and effectively.

What are Linux kernel distributions?

One of the aspects of Linux that has made it so successful is that it is constantly being improved upon by a global community of developers. Every 9-10 weeks, a new version of the Linux kernel is released to the world with updates to improve performance, add functionality and increase compatibility with new devices. Each new version of Linux is called a “stable kernel,” and is added to a repository of Linux distributions kept at kernel.org and GitHub.

Linux users rely on package managers to integrate each new version. Package managers are software tools that assist with the installation, updating and removal of software packages.

Some vendors that rely heavily upon Linux for the functionality of their own software may prefer to maintain a customized source tree or collection of Linux kernel source code they can deploy for their own uses. This approach, known as maintaining a “custom Linux kernel” or “forked Linux distribution,” has been critical in the development of many modern enterprise applications that rely on newer technologies, such as artificial intelligence (AI)edge computing and the Internet of Things (IoT).

For example, Red Hat deploys a version of Linux known as Red Hat Enterprise Linux, which is a stable, high-performance platform with special Linux security and management capabilities. CentOS (Community Enterprise Operating System) is another free, open source Linux distribution based on Red Hat. Debian is another option—a customizable OS built on top of the Linux kernel that uses its source tree specifically to maintain Ubuntu, an open-source code critical to many IoT architectures. 

AI Academy

Achieving AI-readiness with hybrid cloud

Led by top IBM thought leaders, the curriculum is designed to help business leaders gain the knowledge needed to prioritize the AI investments that can drive growth.

How does Linux work?

Linux OS architecture is built on a modular design, a key feature of its numerous versions and many popular Linux distributions. While Linux distros are all based on the Linux kernel, each version can differ based on kernel versions and modules.

  • Versions: Each Linux OS can be customized for a user’s specific needs. For example, if someone needs to use Linux with newer technologies such as AI, ML and edge computing, they can opt for a newer version. However, if they are looking for more reliability, they can opt to use an older kernel version that’s more stable but less compatible with newer technologies.
  • Modules: Modules are specific software applications that can be put onto a kernel or taken off to extend functionality without rebooting. Essentially, a kernel module makes the OS compatible with a new device—often a driver—without having to reboot the system to get it to recognize and support the device. Additionally, file system drivers rely on code that dictates how the kernel operates with different file systems.

Running the Linux kernel

All systems running Linux OS must run the Linux kernel, which operates in 3 simple steps.

  • Boot process: When initiated, the BIOS (Basic Input/Output System) of the Linux system loads a bootloader program, typically called GRUB—Grand Unified Bootloader— that finds and starts the Linux kernel image from the hard disk into memory. This enables the kernel to take control of the system and start executing tasks.
  • Managing input/output: Once the kernel has been booted, it is in control of the system and can start and control all associated processes. Linux manages input/output through a series of streams (such as standard input, output and error) to which the system’s underlying applications have access. The Linux kernel controls all communications between applications and external hardware devices, sending requests from applications to the devices through drivers.
  • Using Linux command line interface (CLI): A Command Line Interface (CLI) is a text-based way to interact with an operating system using a keyboard. The Linux CLI allows users to easily control and manage a computer system’s resources by typing simple instructions using the CLI. Once the system has been booted, Linux initiates processes in response to user requests. For example, network server functions that are critical to the functionality of a computer network rely on Linux running a “service” or “daemon”—a software program that processes requests from users and nodes based on a pre-defined network protocol.

Advantages and disadvantages of Linux

As the world’s most popular open source OS, Linux is free for anyone to use and customize as they wish. It’s considered high-performing, flexible, stable and secure. With a dedicated community of developers constantly updating it, it’s highly compatible with newer technologies.

Depending on an organization or individual’s use case, there are many advantages to building on Linux. However, there are some disadvantages as well. Here are some key points of consideration for anyone looking to use Linux for their business needs.

Flexibility

Each new Linux kernel distribution, known as distros, is released under a license called GNU GPL (GNU General Public License) open source, which gives users the right to run, share and modify the code base as needed. Under the same license, any derivative works created must also be distributed as open source, ensuring that they also will be open, accessible and free to other users.  

Cost

Unlike proprietary operating systems, such as Microsoft Windows or macOS, Linux doesn’t charge any licensing fees. However, Linux vendors, such as RedHat, Debian and SUSE, charge a fee to provide support. While organizations can acquire the OS for free and use it as they wish, support contracts with third-party vendors can lower the potential cost savings of switching to Linux from a proprietary OS.

Reliability

Linux is considered a highly reliable OS, due largely to the global community of developers that are constantly updating and maintaining its code base. For this same reason, it is also considered highly stable. It’s unique design, where system functions are kept separate so a glitch in 1 area of programming language doesn’t impact others—known as modular design—allows users to constantly audit source code and find and fix bugs.

However, modular design has its drawbacks; it can be hard for users accustomed to other kinds of design to learn Linux, and the fact that it is a monolithic kernel (as opposed to a microkernel or hybrid kernel design) can make it less flexible than other proprietary operating systems.

Compatibility

Linux is considered "backward compatible" like many other kinds of open source software. This means that its source code is constantly being changed and patched to address security and compatibility issues, all while retaining its original functionality. With the many different Linux distributions available, thousands of supported applications and a wide range of configuration options, Linux is considered highly compatible.

However, many hardware manufacturers that make proprietary devices don’t make Linux device drivers for their products, leaving some users less choice than if they went with a proprietary OS that is more widely supported, such as macOS or Windows. Additionally, because there is no standard version of Linux, finding support for an organization's specific version can be a challenge, especially for developers looking to deploy a standardized server or desktop image.

Popular Linux use cases

With each new release of the Linux OS, new hardware resources, applications and capabilities become available to Linux users. Today, Linux is used for various purposes, including as an OS for web servers, scientific and edge computing instances, smartphones through the Android OS and more. Here are some of the most popular ways in which Linux is being used around the world.

PC desktops

Linux is used to increase productivity and streamline operations on many desktop instances. For programmers who prefer a free, open source OS to a commercially available 1 for their desktop environment, Linux is 1 of the most widely-used options around.

For example, Linux Fedora is a free open-source operating system (OS) based on the Linux kernel that includes software for many basic tasks. Linux Mint, another free OS based on Linux, has become 1 of the most popular Linux distributions to date.

Network servers

Linux is widely used to connect devices and systems across a range of ecosystems for the purpose of exchanging information and resources over a network. As a network OS, Linux is used on routers, switches, domain name system (DNS) servers and many other devices critical to networking.

A server that uses Linux OS is known as a Linux server. Cisco, for example, relies on the Linux kernel to underpin a version of its popular Cisco Internetwork Operating System (IOS). According to a recent survey by W3Techs, Linux powers more than half of the web servers operating globally.

Headless servers

Most web servers in use today are "headless," meaning that they do not have a graphical user interface (GUI) such as a monitor or keyboard. Headless systems, managed remotely through a network, often rely on a Linux OS for users to interact with and operate them. K Desktop Environment (KDE) for example, is a free, open-source GUI for Linux that is community-driven and considered more user-friendly than many other desktop environments.  

DevOps environments

DevOps, a software development methodology used to speed the delivery of applications, relies heavily on the Linux OS. Linux’s open source nature and extensive interface capabilities make it critical for adding automation and infrastructure control features in the DevOps environment.

Internet of Things (IoT) devices

The Linux OS is used in many popular Internet of Things (IoT) devices, including smartwatches, speakers, thermostats and more. Its flexibility and scalability make it ideal for IoT devices whose functionality depend on complex applications that connect to the cloud.

On an IoT device, the Linux OS helps manage critical compute and hardware resources and provides the underlying platform for apps to run on and connect to other networks.

Cloud computing

Linux is the underlying OS in many cloud computing instances. All major cloud providers, including Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), IBM and others offer Linux kernel distributions on their platforms. Again, its flexibility, scalability and cost-effectiveness make it a popular choice for cloud providers and cloud-based applications. According to the Linux Foundation, Linux runs 90% of the public cloud workload.

Supercomputers

Many supercomputers (computers that speed time to solution in high-performance computing), rely on Linux, with supercomputer developers customizing Linux’s open-source code to meet their specific needs. For example, the “Avalon Cluster,” used in scientific computing, was constructed from readily available hardware such as PCs and open source software, making it usable by a wider range of research scientists than other supercomputers.

Related solutions
IBM HashiCorp

Optimize your cloud with unified lifecycle automation - secure, scalable hybrid infrastructure designed for resilience and AI.

Explore IBM HashiCorp
Cloud Cost Management

Optimize your cloud spend, improve efficiency, and gain visibility into resource usage with IBM’s cloud cost management solutions.

Explore cloud cost management
Infrastructure Services

Accelerate, secure, and optimize your hybrid-cloud and enterprise infrastructure with expert guidance from IBM Technology Expert Labs.

Explore infrastructure services
Take the next step

Achieve unified lifecycle automation, secure and scalable infrastructure, and full visibility into cloud spend—all designed for resilience and AI readiness.

Explore IBM HashiCorp Explore Cloud Cost Management