Steve Young - Fotolia
Evolved from Unix, Linux provides users with a low-cost, secure way to manage their data center infrastructure. Due to its open source architecture, Linux can be tricky to learn and requires command-line interface knowledge as well as the expectation of inconsistent documentation.
In short, Linux is an OS. But Linux has some features and licensing options that set it apart from Microsoft and Apple OSes. To understand what Linux can do, it helps to understand the different Linux OS components and associated lingo.
An operating system runs and manages all software within a computer. To execute programs, the OS is accessed through an API, command-line interface (CLI) or GUI.
The OS determines what applications should run and when; how much memory each application needs; offloads batch jobs to reduce the number of applications running in the background; and oversees input and output to -- and from -- any attached hardware.
Windows and Mac are closed, proprietary OSes that each company maintains through its in-house software developers. Linux -- developed in the 1990s as a free alternative for PC users -- relies on interested coders and individual contributors as the primary developers of the Linux OS and its components.
GNU General Public License
Just like a vendor software license, the GNU General Public License (GPL) spells out the terms under which the free software can be used, copied and modified. The goal of the GPL is to ensure that free software remains free and does not eventually become proprietary or closed source. The license is under the ownership of the Free Software Foundation.
Under the GNU GPL, users can copy Linux code verbatim and add it to their internal systems, with a few stipulations. To remain in compliance, any copied code must contain a copyright notice, intact GPL notices, a warranty disclaimer and a copy of the GPL. Should you decide to redistribute Linux OS components under the GPL, all the previous information must be included and every change must be documented.
A kernel is the nucleus of a computer's OS. Its primary function is to act as the bridge between the OS and the hardware; the kernel also helps with device control, networking, memory management and file systems.
To execute actions, kernels use device drivers. These drivers contain specific pieces of code that correspond to a device on the OS. The three main type of drivers are character device drivers, block device drivers and network device drivers.
Released in 1992, the Linux kernel is divided into several subsystems: memory management, network stack, process management, a system call interface, virtual file system, arch and device drivers.
In January 2020, the Linux kernel had 27.8 million lines of code. Because the open source community constantly maintains and updates the kernel, it is an ideal choice for a server infrastructure that requires real-time upkeep. The Linux kernel can also be ported into your OS and set to run live updates.
Linux OS components are open source, but the different distributions are suited for various deployment modules, infrastructures and use cases. Each distribution -- or distro -- is a version of the Linux OS packaged with customized management tools, specialized software or installation programs.
There are hundreds of distributions, but the most common ones are Fedora, Red Hat Enterprise Linux, Ubuntu, openSUSE and Oracle Linux. More community-focused versions include Debian and Slackware.
Vendors offer service-level agreements (SLAs), specialized add-ons and consulting for specific industries and use cases if you can't spend in-house time or talent configuring the OS or specialized features. With this model, vendors make money from additional services and tools, not the source code itself.
A bootloader, also known as a boot manager, installs the OS into a computer's memory. Once you restart or power up your computing infrastructure, the basic I/O system runs some basic tests and then starts the master boot record to run the OS. If you run a Mac or Windows OS, the system automatically comes with a bootloader in place.
With Linux, you must install a separate bootloader to run any distribution. There are two main options: LInux LOader (LILO) and LOAD LINux (LOADLIN). LOADLIN is better if there are multiple OSes throughout the data center or you don't spend a ton of time using Linux. You can use LILO if you desire faster bootup times and your primary OS is Linux.
Plan an effective Linux distro migration
Compare Linux distros for enterprise server use cases