Linux is a computer operating system that is developed using the open source model. Open source software development principles are:
The open source development model also means that improvements come from many different corporate and individual contributors, so the product direction is determined largely by the community of users, rather than by a single development team at a single vendor.
The Linux kernel is central to the Linux computer operating system. The kernel is the core interface between a computer's hardware and its processes, making sure there is available memory for Linux applications to run, optimizing processors, and navigating system requirements across applications.
The Linux kernel communicates between the hardware and applications via "interrupts." When the hardware wants to interface with the application and broader system, an interrupt is issued across the processor and kernel to manage resources efficiently.
The kernel, existing inside a hard OS shell, controls all primary functions of the respective hardware, independent of the device, including mobile, tablet, desktop or laptop, server, etc. The Linux kernel focuses on these critical functions:
Developers have had a long love affair with Linux and that’s for good reason. Linux is time-tested and powerful. With Oracle Linux, developers enjoy a large community in which to share what they build or to turn to any time opportunities for troubleshooting arise.
Right now on our developer portal, you can find how Oracle Linux benefits developers across multiple languages (Python, Node.js, Go), application and infrastructure tutorials, and how you can use Oracle Linux to even tweak hardware use cases.
The Linux operating system is used in a wide variety of systems and environments. It powers large cloud infrastructure environments, on-premises converged infrastructure appliances, application servers, desktop computing environments, and embedded systems. Some distributions of Linux software also include a hypervisor for hosting virtual machines.
No one person or company “owns” Linux. Many individuals and corporations contribute updates to Linux, and they typically license their contribution under an Open Source Software license such as GPLv2. Linus Torvalds owns the copyright to the name Linux, but anyone can create a distribution of Linux by combining various open source components. Often companies will charge you for using their distribution; alternatively, they may charge only for support of the distribution or make the distribution available for free (typically without support).
A Linux distribution (sometimes abbreviated as “Linux distro”) is a collection of key and optional components that combine to form a complete operating system. Generally, a Linux distribution includes core components including a bootloader, a Linux kernel, an init system, daemons, a graphical server, and applications. Some distributions include additional options such as a high-performance Linux kernel, management tools, a hypervisor, or even components for a cloud native environment.
Important differences between distributions of Linux lie in where they can be used, how they are supported, how they manage software updates, and what additional or optional components they include. Considering just the list of distributions above, most of these are used for network-based servers (as opposed to desktop computers), but not all of them are easily usable in every type of server environment.
For example, Red Hat Enterprise Linux is popular for on-premises data centers and in some clouds but is not supported in all clouds. Amazon Linux is available in the Amazon Web Services (AWS) cloud, but it is not readily available or supported in other clouds or on premises. CentOS is most typically used by customers who prefer to avoid a support contract from a vendor and wish to do their own self-support. RHEL users are generally the opposite, happily paying a relatively high annual support cost to receive updates and telephone support for their systems. Fedora is targeted at users who are less concerned with a long-term stable configuration and are eager to constantly incorporate the latest experimental features into their systems. In late 2020, CentOS announced that they are changing direction from being a long-term stable distribution to being something closer to a beta version of RHEL.
There are nearly as many Linux distributions as there are use cases for Linux, so although there is likely not a best Linux for every use case, there might be a best Linux for each use case. The sections below discuss the differences between types of Linux to help you identify which Linux operating system might be the best for a given situation.
Because anyone can create a Linux distribution from the available source code, and they can choose from some variations of components, there are many distributions of Linux that are very similar. Some distributions come from different companies but are effectively interchangeable.
Different distributions also may be optimized for different purposes—some are focused on being the smallest possible; others focus on providing broad support for desktop hardware. In addition, some distributions include specialized features, such as automated patching, or higher performance for databases.
Popular distributions include:
One other distinction is how the operating system manages optional software updates and patches. Many (but not all) of the systems on the above list use the RPM (previously known as the Red Hat Package Manager). Some other Linux distros use the Debian package (dpkg) system.
The individual package manager is not very important on its own, but it creates a compatibility difference between systems that use one versus the other. For example, depending on what features you’re using, you can easily interchange systems that use the RPM system (sometimes called “rpm Linux distros”) with one another, because they can download very similar packages from similar distribution servers.
You also can easily convert both CentOS and RHEL installations in-place to an Oracle installation just by pointing their package manager to a new update server. This is because, among other things, they all use the RPM system. (Note that this is a technical statement—vendors may have additional license terms you must comply with, but those terms are beyond the scope of this document.) This same transition would be more difficult with a distribution such as Ubunto, which uses the Debian package system.
For many customers, the operating system is at the bottom of a stack of software platforms, with their business applications at the top. This can make it seem as if the operating system is less important than the higher layers in the stack, so it doesn’t matter which distribution you choose. Some might even imagine that all distributions are effectively the same.
But because the Linux operating system is near (or at) the bottom of the stack, it can affect everything above it. Improvements in security, performance, reliability, and troubleshooting capabilities at this low level can mean improvements in these factors all the way up the stack. For example, a technology called Ksplice can allow an administrator to apply security patches and bug fixes without rebooting the server. By itself, this seems like a minor benefit. But when you consider the cost of taking down the business application, and the alternative risk of leaving the system unpatched for the latest security threat, the ability to patch without disturbing the business application suddenly has a very large impact.
These benefits can easily multiply in value as they go up the stack. Saving time on the reboot at the operating system level might yield only a few minutes of benefit to the administrator. But avoiding the organizational pain and potential revenue impact of scheduling downtime on a major customer-facing application might be worth thousands of times that administrator’s annual salary. And this says nothing of the cost and risk to the business that comes with ignoring the security update.
In a similar vein, it might seem unimportant to improve the performance of an operating system, because administrators typically spend little time working directly on the operating system, and users spend even less. But translated up to the business application level, small performance improvements may be multiplied by millions of high-value transactions, leading to cost savings per transaction, or even to a competitive advantage to the business by delivering time-sensitive transactions faster than competitors.
An open and complete operating environment, Oracle Linux delivers virtualization, management, and cloud native computing tools, along with the operating system, in a single support offering. Oracle Linux is 100 percent application-binary compatible with RHEL. Because of this compatibility, it is typically also a good substitute for other RPM-based distributions, such as CentOS.
You can use Oracle Linux for free in self-support environments (for example, as a replacement for CentOS), or with a paid Linux support agreement for production workloads.
To support high performance for Oracle Database, Oracle engineers have made continuous improvements to the Unbreakable Enterprise Kernel. Although these improvements were intended for Oracle Database, they typically benefit any compute- or memory-intensive application. Some users have reported a more than 30 percent performance improvement from this variant of the Linux kernel.
Oracle Linux optionally includes a zero-downtime patching technology called Ksplice, which allows servers to be patched on a regular basis without requiring a reboot of the server or, more importantly, of the business applications running on it. This leads to more frequent patching, and therefore more secure and compliant systems. This also reduces the administrative overhead typical of large business applications, which require significant work for scheduling and approvals from all interested parties before a reboot. Oracle Linux also includes the open source KVM hypervisor, and (with a support agreement) the virtualization manager (PDF).
Many workloads are moving to a hosted cloud environment, and those that stay on premises are often architected using cloud native patterns and technologies, Kubernetes, Kata containers, and Istio. Oracle Linux is the foundational operating system for Oracle Cloud Infrastructure (OCI) and includes many of the cloud native tools required for this architecture. This means that Oracle Linux gets tested in the largest, most demanding environment of all, and one that matches the design pattern of most modern applications. Lessons learned in this crucible are translated directly into improvements in the operating system. But unlike other cloud vendors that have a proprietary system underlying their cloud, Oracle Linux is available in the same configuration for all users, whether they are on OCI, on another cloud, or in the customer’s own data center.
Oracle Linux is also the foundation of the world’s only autonomous operating system, which patches itself every day to reduce security threats and administrative effort at the same time.
Since 2006, Oracle Linux has been completely free to download and use: free source code, binaries, and updates. Freely redistributable. Free for production use.