Linux range of use
|This article needs additional citations for verification. (November 2013)|
Linux kernel-based operating systems have found wide adoption and a very far-reaching range of use. All the advantages and benefits of free and open-source software apply to the Linux kernel itself and also to most of the rest of the system software.
Linux on the desktop
The common human interface devices (HIDs) available for desktop computers, laptops and similar devices determine the design of the (graphical) human-computer interface implemented into software. There are a couple of software packages to chose among, when building an accordingly designed graphical user interface. The generic input driver for the Linux kernel is evdev, but here are several input methods implemented as middleware, i.e. on top and not as part of the Linux kernel.
Linux as a gaming platform
As the actual adoption is proving it, the Linux kernel is also suitable as a gaming platform. Of course, additional software is necessary to either augment a typical desktop installation to be suitable as a gaming platform, or to create a Linux-based operating system for the sole purpose of being a gaming platform.
Linux for servers and clusters
There is an abundance of server software (cf. client–server model) supporting various communications protocols, such as e.g. HTTP (web server), SMTP (mail transfer agents), POP3 and IMAP (e-mail server), LDAP, SMB/CIFS (Samba), SNMP (for system and network monitoring), SIP, various routing protocols that runs, partially exclusively, on top of the Linux kernel.
Some software bundles, also called solution stacks, have been that widely adopted, that their acronyms have become well known, e.g.
Linux kernel-based operating systems also serve as basis for cloud computing solutions, such as:
- LEAP – for cloud computing
- OpenStack – for infrastructure as a service (IaaS), the controller nodes run only on a Linux operating system
And of course all three types of virtualization (hardware-based, software-based and paravirtualization) have been implemented by a couple of projects, that run Linux, some being Linux exclusive. The Linux kernel itself has been customized, adapted and hardened to various scenarios, especially to the operation of a bastion host. Some were already mainlined, some are being developed and maintained out-of-tree.
Linux kernel-based operating systems are still employed as routing servers on both, server computers and also on commodity hardware, in cases where professional routing equipment such as Cisco Catalyst, are either overkill or simply too expensive. Components of the Linux kernel, such as Netfilter or the Linux network scheduler, in conjunction with the available free and open-source routing daemons BIRD, B.A.T.M.A.N., Quagga and XORP fulfill the task very well. Very low-cost and low-performance routing can be even achieved by wireless routers running OpenWrt.
The anonymity routing solution Tor is cross-platform and not exclusive to Linux.
Components of the Linux kernel, like e.g. LVM, are well suited to support computer clusters. There is also software for the management of clusters, e.g. Pacemaker, Linux-HA, DRBD, oVirt, openQRM, Ganeti, Eucalyptus, AppScale, or OpenNebula.
A Linux operating systems runs virtualized on Xen, a micro-kernel-type hypervisor published under the same license as the Linux kernel (GNU GPL-2.0), and with KVM it is possible to turn the Linux kernel into a hypervisor.
OpenStack controller nodes run exclusively on Linux, while compute nodes are cross-platform. Related software projects are Nimbus, Ganeti, AppScale, Distributed Replicated Block Device, OpenNebula, Eucalyptus or openQRM.
Linux for mobile devices
One of the best known Linux-based operating systems for mobile devices, such as smartphones, is the Android (operating system). Android employs a modified Linux kernel and combines it with libbionic instead of the glibc, SurfaceFlinger as display server, and some other replacements specifically written for this purpose.
Many mobile devices have a touchscreen as their sole human interface device (HID). The GUI and partly the middleware of the operating system has to be adapted as to enable software designers to create an according human-computer interface.
Linux for embedded systems
There are actively maintained patches that transform the Linux kernel into a real-time kernel. That way Linux kernel gained a wide adoption as a kernel for operating systems driving embedded systems. Minimally, such an operating system includes a more or less modified Linux kernel, µClibc and BusyBox.
A non-RTOS example, and at the same time a Linux distribution, is OpenWrt. OpenWrt is intended to be employed on CPE devices like wireless routers. Another example is Rockbox, an operating system for portable media players based on μClinux.
Linux for supercomputers
480 (96%) of the world's fastest supercomputers run some kind of a Linux kernel-based operating system.
- "Top500 - List Statistics - June 2013". Top500.org. Retrieved 21 July 2013.