Linux range of useWikipedia open wikipedia design.
This article needs additional citations for verification. (November 2013) (Learn how and when to remove this template message)
Linux kernel-based operating systems have been widely adopted in a very wide range of uses. All the advantages and benefits of free and open-source software apply to the Linux kernel, and to most of the rest of the system software.
For desktop computers
The common human interface devices (HIDs) available for desktop computers, laptops and similar devices determine the design of the (graphical) human-computer interface implemented in software. There are a few software packages to choose 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., atop and not as part of the Linux kernel.
As adoption is proving, the Linux kernel is suitable as a gaming platform. Of course, added software is needed to either augment a typical desktop installation to be suitable as a gaming platform, or to create a Linux-based operating system for a dedicated gaming platform.
For servers and clusters
There is an abundance of server software (cf. client–server model) supporting various communications protocols, such as HTTP (web server), SMTP (mail transfer agents), POP3 and IMAP (e-mail server), Lightweight Directory Access Protocol (LDAP), Server Message Block (SMB-CIFS) (Samba), Simple Network Management Protocol (SNMP) (for system and network monitoring), Session Initiation Protocol (SIP), various routing protocols that run, partly exclusively, on the Linux kernel.
Some software bundles, also called solution stacks, have been that widely adopted, that their acronyms have become well known. Examples include:
For dynamic web pages:
- Linux operating system, Apache web server, MySQL database, and PHP programming language (LAMP)
- Linux operating system, Yaws web server, Mnesia or CouchDB database, and Erlang programming language (LYME, LYCE)
For cloud computing:
- Linux operating system, Eucalyptus Amazon Web Services framework, AppScale cloud computing framework, and Python programming language (LEAP)
- OpenStack – for infrastructure as a service (IaaS), the controller nodes run only on a Linux operating system
All three types of virtualization (hardware-based, software-based, and paravirtualization) have been implemented by a few projects, that run Linux, some being Linux-exclusive. The Linux kernel 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 commodity hardware, in cases where professional routing equipment such as Cisco Catalyst, are either overkill or too costly. Components of the Linux kernel, such as Netfilter or the Linux network scheduler, along with the available free and open-source routing daemons Bird Internet routing daemon (BIRD), B.A.T.M.A.N., Quagga, and XORP fulfill the task very well. Very low-cost and low-performance routing can be performed by wireless routers running OpenWrt.
Components of the Linux kernel, such as Logical Volume Manager (LVM), are well suited to support computer clusters. There is also software for managing 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. Software projects, serving a similar use-case as OpenStack are Nimbus, Ganeti, AppScale, OpenNebula, Eucalyptus or openQRM.
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.
For embedded systems
Patches exist which transform the Linux kernel into a real-time kernel, termed a real-time operating system (RTOS). Several are actively maintained. Minimally, such an operating system includes a more or less modified Linux kernel, uClibc and BusyBox.
Non-RTOS variants exist. OpenWrt, which is also a Linux distribution, is for use on customer-premises equipment (CPE) devices like wireless routers. Rockbox, which is based on μClinux, is an operating system for portable media players.
All the fastest supercomputers in the decade since the Earth Simulator have used Linux. Linux also ran on the first teraFLOPS supercomputer, ASCI Red in 1997, and on IBM Roadrunner in 2008, which was the first petascale computer.
As of January 2018[update], 500 or 100% of the world's fastest supercomputers run an operating system based on the Linux kernel. The world’s fastest supercomputer is China’s Sunway TaihuLight, is powered by a colossal 650,000+ CPUs, runs a customised version of Linux called ‘Sunway RaiseOS’, with processing speed of 93 petaflops.
- Vaughan-Nichols, Steven J. "Linux totally dominates supercomputers | ZDNet". ZDNet. Retrieved 2018-04-10.
- "Linux Now Powers 100% of the World's Top 500 Supercomputers". OMG! Ubuntu!. 2017-11-14. Retrieved 2018-04-10.