Recent from talks
Nothing was collected or created yet.
Linux
View on Wikipedia
| Linux | |
|---|---|
| Developer | Community contributors, Linus Torvalds |
| Written in | C, assembly language |
| OS family | Unix-like |
| Working state | Current |
| Source model | Open-source |
| Initial release | September 17, 1991[2] |
| Repository | git |
| Marketing target | Cloud computing, embedded devices, mainframe computers, mobile devices, personal computers, servers, supercomputers |
| Available in | Multilingual |
| Supported platforms | Alpha, ARC, ARM, C-Sky, Hexagon, LoongArch, m68k, Microblaze, MIPS, Nios II, OpenRISC, PA-RISC, PowerPC, RISC-V, s390, SuperH, SPARC, x86, Xtensa |
| Kernel type | Monolithic |
| Userland | util-linux by standard,[a] various alternatives, such as Busybox,[b] GNU,[c] Plan 9 from User Space[d] and Toybox[e] |
| Influenced by | Minix, Unix |
| Default user interface |
|
| License | GPLv2 (Linux kernel)[14][f] |
| Official website | kernel |
| Articles in the series | |
| Linux kernel Linux distribution | |
Linux (/ˈlɪnʊks/ LIN-uuks[16]) is a family of open source Unix-like operating systems based on the Linux kernel,[17] an operating system kernel first released on September 17, 1991, by Linus Torvalds.[18][19][20] Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries—most of which are provided by third parties—to create a complete operating system, designed as a clone of Unix and released under the copyleft GPL license.[21]
Thousands of Linux distributions exist, many based directly or indirectly on other distributions;[22][23] popular Linux distributions[24][25][26] include Debian, Fedora Linux, Linux Mint, Arch Linux, and Ubuntu, while commercial distributions include Red Hat Enterprise Linux, SUSE Linux Enterprise, and ChromeOS. Linux distributions are frequently used in server platforms.[27][28] Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses and recommends the name "GNU/Linux" to emphasize the use and importance of GNU software in many distributions, causing some controversy.[29][30] Other than the Linux kernel, key components that make up a distribution may include a display server (windowing system), a package manager, a bootloader and a Unix shell.
Linux is one of the most prominent examples of free and open-source software collaboration. While originally developed for x86 based personal computers, it has since been ported to more platforms than any other operating system,[31] and is used on a wide variety of devices including PCs, workstations, mainframes and embedded systems. Linux is the predominant operating system for servers and is also used on all of the world's 500 fastest supercomputers.[g] When combined with Android, which is Linux-based and designed for smartphones, they have the largest installed base of all general-purpose operating systems.
Overview
[edit]The Linux kernel was designed by Linus Torvalds, following the lack of a working kernel for GNU, a Unix-compatible operating system made entirely of free software that had been undergoing development since 1983 by Richard Stallman. A working Unix system called Minix was later released but its license was not entirely free at the time[32] and it was made for an educative purpose. The first entirely free Unix for personal computers, 386BSD, did not appear until 1992, by which time Torvalds had already built and publicly released the first version of the Linux kernel on the Internet.[33] Like GNU and 386BSD, Linux did not have any Unix code, being a fresh reimplementation, and therefore avoided the then legal issues.[34] Linux distributions became popular in the 1990s and effectively made Unix technologies accessible to home users on personal computers whereas previously it had been confined to sophisticated workstations.[35]
Desktop Linux distributions include a windowing system such as X11 or Wayland and a desktop environment such as GNOME, KDE Plasma or Xfce. Distributions intended for servers may not have a graphical user interface at all or include a solution stack such as LAMP.
The source code of Linux may be used, modified, and distributed commercially or non-commercially by anyone under the terms of its respective licenses, such as the GNU General Public License (GPL). The license means creating novel distributions is permitted by anyone[36] and is easier than it would be for an operating system such as MacOS or Microsoft Windows.[37][38][39] The Linux kernel, for example, is licensed under the GPLv2, with an exception for system calls that allows code that calls the kernel via system calls not to be licensed under the GPL.[40][41][36]
Because of the dominance of Linux-based Android on smartphones, Linux, including Android, has the largest installed base of all general-purpose operating systems as of May 2022[update].[42][43][44] Linux is, as of March 2024[update], used by around 4 percent of desktop computers.[45] The Chromebook, which runs the Linux kernel-based ChromeOS,[46][47] dominates the US K–12 education market and represents nearly 20 percent of sub-$300 notebook sales in the US.[48] Linux is the leading operating system on servers (over 96.4% of the top one million web servers' operating systems are Linux),[49] leads other big iron systems such as mainframe computers,[clarification needed][50] and is used on all of the world's 500 fastest supercomputers[h] (as of November 2017[update], having gradually displaced all competitors).[51][52]
Linux also runs on embedded systems, i.e., devices whose operating system is typically built into the firmware and is highly tailored to the system. This includes routers, automation controls, smart home devices, video game consoles, televisions (Samsung and LG smart TVs),[53][54][55] automobiles (Tesla, Audi, Mercedes-Benz, Hyundai, and Toyota),[56] and spacecraft (Falcon 9 rocket, Dragon crew capsule, and the Ingenuity Mars helicopter).[57][58]
History
[edit]Precursors
[edit]
The Unix operating system was conceived of and implemented in 1969, at AT&T's Bell Labs in the United States, by Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna.[59] First released in 1971, Unix was written entirely in assembly language, as was common practice at the time. In 1973, in a key pioneering approach, it was rewritten in the C programming language by Dennis Ritchie (except for some hardware and I/O routines). The availability of a high-level language implementation of Unix made its porting to different computer platforms easier.[60]
As a 1956 antitrust case forbade AT&T from entering the computer business,[61] AT&T provided the operating system's source code to anyone who asked. As a result, Unix use grew quickly and it became widely adopted by academic institutions and businesses. In 1984, AT&T divested itself of its regional operating companies, and was released from its obligation not to enter the computer business; freed of that obligation, Bell Labs began selling Unix as a proprietary product, where users were not legally allowed to modify it.[62][63]
Onyx Systems began selling early microcomputer-based Unix workstations in 1980. Later, Sun Microsystems, founded as a spin-off of a student project at Stanford University, also began selling Unix-based desktop workstations in 1982. While Sun workstations did not use commodity PC hardware, for which Linux was later originally developed, it represented the first successful commercial attempt at distributing a primarily single-user microcomputer that ran a Unix operating system.[64][65]
With Unix increasingly "locked in" as a proprietary product, the GNU Project, started in 1983 by Richard Stallman, had the goal of creating a "complete Unix-compatible software system" composed entirely of free software. Work began in 1984.[66] Later, in 1985, Stallman started the Free Software Foundation and wrote the GNU General Public License (GNU GPL) in 1989. By the early 1990s, many of the programs required in an operating system (such as libraries, compilers, text editors, a command-line shell, and a windowing system) were completed, although low-level elements such as device drivers, daemons, and the kernel, called GNU Hurd, were stalled and incomplete.[67]
Minix was created by Andrew S. Tanenbaum, a computer science professor, and released in 1987 as a minimal Unix-like operating system targeted at students and others who wanted to learn operating system principles. Although the complete source code of Minix was freely available, the licensing terms prevented it from being free software until the licensing changed in April 2000.[68]
Creation
[edit]While attending the University of Helsinki in the fall of 1990, Torvalds enrolled in a Unix course.[69] The course used a MicroVAX minicomputer running Ultrix, and one of the required texts was Operating Systems: Design and Implementation by Andrew S. Tanenbaum. This textbook included a copy of Tanenbaum's Minix operating system. It was with this course that Torvalds first became exposed to Unix. In 1991, he became curious about operating systems.[70] Frustrated by the licensing of Minix, which at the time limited it to educational use only,[68] he began to work on his operating system kernel, which eventually became the Linux kernel.
On July 3, 1991, to implement Unix system calls, Linus Torvalds attempted unsuccessfully to obtain a digital copy of the POSIX standards documentation with a request to the comp.os.minix newsgroup.[71] After not finding the POSIX documentation, Torvalds initially resorted to determining system calls from SunOS documentation owned by the university for use in operating its Sun Microsystems server. He also learned some system calls from Tanenbaum's Minix text.
Torvalds began the development of the Linux kernel on Minix and applications written for Minix were also used on Linux. Later, Linux matured and further Linux kernel development took place on Linux systems.[72] GNU applications also replaced all Minix components, because it was advantageous to use the freely available code from the GNU Project with the fledgling operating system; code licensed under the GNU GPL can be reused in other computer programs as long as they also are released under the same or a compatible license. Torvalds initiated a switch from his original license, which prohibited commercial redistribution, to the GNU GPL.[73] Developers worked to integrate GNU components with the Linux kernel, creating a fully functional and free operating system.[74]
Although not released until 1992, due to legal complications, the development of 386BSD, from which NetBSD, OpenBSD and FreeBSD descended, predated that of Linux. Linus Torvalds has stated that if the GNU kernel or 386BSD had been available in 1991, he probably would not have created Linux.[75][32]
Naming
[edit]
Linus Torvalds had wanted to call his invention "Freax", a portmanteau of "free", "freak", and "x" (as an allusion to Unix). During the start of his work on the system, some of the project's makefiles included the name "Freax" for about half a year. Torvalds considered the name "Linux" but dismissed it as too egotistical.[76]
To facilitate development, the files were uploaded to the FTP server of FUNET in September 1991. Ari Lemmke, Torvalds' coworker at the Helsinki University of Technology (HUT) who was one of the volunteer administrators for the FTP server at the time, did not think that "Freax" was a good name, so he named the project "Linux" on the server without consulting Torvalds.[76] Later, however, Torvalds consented to "Linux".
According to a newsgroup post by Torvalds,[16] the word "Linux" should be pronounced (/ˈlɪnʊks/ ⓘ LIN-uuks) with a short 'i' as in 'print' and 'u' as in 'put'. To further demonstrate how the word "Linux" should be pronounced, he included an audio guide with the kernel source code.[77] However, in this recording, he pronounces Linux as /ˈlinʊks/ (LEEN-uuks) with a short but close front unrounded vowel, instead of a near-close near-front unrounded vowel as in his newsgroup post.
Commercial and popular uptake
[edit]The adoption of Linux in production environments, rather than being used only by hobbyists, started to take off first in the mid-1990s in the supercomputing community, where organizations such as NASA started replacing their increasingly expensive machines with clusters of inexpensive commodity computers running Linux. Commercial use began when Dell and IBM, followed by Hewlett-Packard, started offering Linux support to escape Microsoft's monopoly in the desktop operating system market.[78]
Today, Linux systems are used throughout computing, from embedded systems to virtually all supercomputers,[52][79] and have secured a place in server installations such as the popular LAMP application stack. The use of Linux distributions in home and enterprise desktops has been growing.[80][81][82][83][84][85][86]
Linux distributions have also become popular in the netbook market, with many devices shipping with customized Linux distributions installed, and Google releasing their own ChromeOS designed for netbooks.
Linux's greatest success in the consumer market is perhaps the mobile device market, with Android being the dominant operating system on smartphones and very popular on tablets and, more recently, on wearables, and vehicles. Linux gaming is also on the rise with Valve showing its support for Linux and rolling out SteamOS, its own gaming-oriented Linux distribution, which was later implemented in their Steam Deck platform. Linux distributions have also gained popularity with various local and national governments, such as the federal government of Brazil.[87]
Development
[edit]Linus Torvalds is the lead maintainer for the Linux kernel and guides its development, while Greg Kroah-Hartman is the lead maintainer for the stable branch.[88] Zoë Kooyman is the executive director of the Free Software Foundation,[89] which in turn supports the GNU components.[90] Finally, individuals and corporations develop third-party non-GNU components. These third-party components comprise a vast body of work and may include both kernel modules and user applications and libraries.
Linux vendors and communities combine and distribute the kernel, GNU components, and non-GNU components, with additional package management software in the form of Linux distributions.
Design
[edit]Many developers of open-source software agree that the Linux kernel was not designed but rather evolved through natural selection. Torvalds considers that although the design of Unix served as a scaffolding, "Linux grew with a lot of mutations – and because the mutations were less than random, they were faster and more directed than alpha-particles in DNA."[91] Eric S. Raymond considers Linux's revolutionary aspects to be social, not technical: before Linux, complex software was designed carefully by small groups, but "Linux evolved in a completely different way. From nearly the beginning, it was rather casually hacked on by huge numbers of volunteers coordinating only through the Internet. Quality was maintained not by rigid standards or autocracy but by the naively simple strategy of releasing every week and getting feedback from hundreds of users within days, creating a sort of rapid Darwinian selection on the mutations introduced by developers."[92] Bryan Cantrill, an engineer of a competing OS, agrees that "Linux wasn't designed, it evolved", but considers this to be a limitation, proposing that some features, especially those related to security,[93] cannot be evolved into, "this is not a biological system at the end of the day, it's a software system."[94]
A Linux-based system is a modular Unix-like operating system, deriving much of its basic design from principles established in Unix during the 1970s and 1980s. Such a system uses a monolithic kernel, the Linux kernel, which handles process control, networking, access to the peripherals, and file systems. Device drivers are either integrated directly with the kernel or added as modules that are loaded while the system is running.[95]
The GNU userland is a key part of most systems based on the Linux kernel, with Android being a notable exception. The GNU C library, an implementation of the C standard library, works as a wrapper for the system calls of the Linux kernel necessary to the kernel-userspace interface, the toolchain is a broad collection of programming tools vital to Linux development (including the compilers used to build the Linux kernel itself), and the coreutils implement many basic Unix tools. The GNU Project also develops Bash, a popular CLI shell. The graphical user interface (or GUI) used by most Linux systems is built on top of an implementation of the X Window System.[96] More recently, some of the Linux community has sought to move to using Wayland as the display server protocol, replacing X11.[97][98]
Many other open-source software projects contribute to Linux systems.
Installed components of a Linux system include the following:[96][100]
- A bootloader, for example GNU GRUB, LILO, SYSLINUX or systemd-boot. This is a program that loads the Linux kernel into the computer's main memory, by being executed by the computer when it is turned on and after the firmware initialization is performed.
- An init program, such as the traditional sysvinit and the newer systemd, OpenRC and Upstart. This is the first process launched by the Linux kernel, and is at the root of the process tree. It starts processes such as system services and login prompts (whether graphical or in terminal mode).
- Software libraries, which contain code that can be used by running processes. On Linux systems using ELF-format executable files, the dynamic linker that manages the use of dynamic libraries is known as ld-linux.so. If the system is set up for the user to compile software themselves, header files will also be included to describe the programming interface of installed libraries. Besides the most commonly used software library on Linux systems, the GNU C Library (glibc), there are numerous other libraries, such as SDL and Mesa.
- The C standard library is the library necessary to run programs written in C on a computer system, with the GNU C Library being the standard. It provides an implementation of the POSIX API, as well as extensions to that API. For embedded systems, alternatives such as musl, EGLIBC (a glibc fork once used by Debian) and uClibc (which was designed for uClinux) have been developed, although the last two are no longer maintained. Android uses its own C library, Bionic. However, musl can additionally be used as a replacement for glibc on desktop and laptop systems, as seen on certain Linux distributions like Void Linux.
- Basic Unix commands, with GNU coreutils being the standard implementation. Alternatives exist for embedded systems, such as the copyleft BusyBox, and the BSD-licensed Toybox.
- Widget toolkits are the libraries used to build graphical user interfaces (GUIs) for software applications. Numerous widget toolkits are available, including GTK and Clutter developed by the GNOME Project, Qt developed by the Qt Project and led by The Qt Company, and Enlightenment Foundation Libraries (EFL) developed primarily by the Enlightenment team.
- A package management system, such as dpkg and RPM. Alternatively packages can be compiled from binary or source tarballs.
- User interface programs such as command shells or windowing environments.
User interface
[edit]The user interface, also known as the shell, is either a command-line interface (CLI), a graphical user interface (GUI), or controls attached to the associated hardware, which is common for embedded systems. For desktop systems, the default user interface is usually graphical, although the CLI is commonly available through terminal emulator windows or on a separate virtual console.

CLI shells are text-based user interfaces, which use text for both input and output. The dominant shell used in Linux is the Bourne-Again Shell (bash), originally developed for the GNU Project; other shells such as Zsh are also used.[101][102] Most low-level Linux components, including various parts of the userland, use the CLI exclusively. The CLI is particularly suited for automation of repetitive or delayed tasks and provides very simple inter-process communication.


On desktop systems, the most popular user interfaces are the GUI shells, packaged together with extensive desktop environments, such as KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon, and Xfce, though a variety of additional user interfaces exist. Most popular user interfaces are based on the X Window System, often simply called "X" or "X11". It provides network transparency and permits a graphical application running on one system to be displayed on another where a user may interact with the application; however, certain extensions of the X Window System are not capable of working over the network.[103] Several X display servers exist, with the reference implementation, X.Org Server, being the most popular.

Several types of window managers exist for X11, including tiling, dynamic, stacking, and compositing. Window managers provide means to control the placement and appearance of individual application windows, and interact with the X Window System. Simpler X window managers such as dwm, ratpoison, or i3wm provide a minimalist functionality, while more elaborate window managers such as FVWM, Enlightenment, or Window Maker provide more features such as a built-in taskbar and themes, but are still lightweight when compared to desktop environments. Desktop environments include window managers as part of their standard installations, such as Mutter (GNOME), KWin (KDE), or Xfwm (xfce), although users may choose to use a different window manager if preferred.
Wayland is a display server protocol intended as a replacement for the X11 protocol; as of 2022[update], it has received relatively wide adoption.[104] Unlike X11, Wayland does not need an external window manager and compositing manager. Therefore, a Wayland compositor takes the role of the display server, window manager, and compositing manager. Weston is the reference implementation of Wayland, while GNOME's Mutter and KDE's KWin are being ported to Wayland as standalone display servers. Enlightenment has already been successfully ported since version 19.[105] Additionally, many window managers have been made for Wayland, such as Sway or Hyprland, as well as other graphical utilities such as Waybar or Rofi.
Video input infrastructure
[edit]Linux currently has two modern kernel-userspace APIs for handling video input devices: V4L2 API for video streams and radio, and DVB API for digital TV reception.[106]
Due to the complexity and diversity of different devices, and due to the large number of formats and standards handled by those APIs, this infrastructure needs to evolve to better fit other devices. Also, a good userspace device library is the key to the success of having userspace applications to be able to work with all formats supported by those devices.[107][108]
Development
[edit]
The primary difference between Linux and many other popular contemporary operating systems is that the Linux kernel and other components are free and open-source software. Linux is not the only such operating system, although it is by far the most widely used.[109] Some free and open-source software licenses are based on the principle of copyleft, a kind of reciprocity: any work derived from a copyleft piece of software must also be copyleft itself. The most common free software license, the GNU General Public License (GPL), is a form of copyleft and is used for the Linux kernel and many of the components from the GNU Project.[110]
Linux-based distributions are intended by developers for interoperability with other operating systems and established computing standards. Linux systems adhere to POSIX,[111] Single UNIX Specification (SUS),[112] Linux Standard Base (LSB), ISO, and ANSI standards where possible, although to date only one Linux distribution has been POSIX.1 certified, Linux-FT.[113][114] The Open Group has tested and certified at least two Linux distributions as qualifying for the Unix trademark, EulerOS and Inspur K-UX.[115]
Free software projects, although developed through collaboration, are often produced independently of each other. The fact that the software licenses explicitly permit redistribution, however, provides a basis for larger-scale projects that collect the software produced by stand-alone projects and make it available all at once in the form of a Linux distribution.
Many Linux distributions manage a remote collection of system software and application software packages available for download and installation through a network connection. This allows users to adapt the operating system to their specific needs. Distributions are maintained by individuals, loose-knit teams, volunteer organizations, and commercial entities. A distribution is responsible for the default configuration of the installed Linux kernel, general system security, and more generally integration of the different software packages into a coherent whole. Distributions typically use a package manager such as apt, yum, zypper, pacman or portage to install, remove, and update all of a system's software from one central location.[116]
Community
[edit]A distribution is largely driven by its developer and user communities. Some vendors develop and fund their distributions on a volunteer basis, Debian being a well-known example. Others maintain a community version of their commercial distributions, as Red Hat does with Fedora, and SUSE does with openSUSE.[117][118]
In many cities and regions, local associations known as Linux User Groups (LUGs) seek to promote their preferred distribution and by extension free software. They hold meetings and provide free demonstrations, training, technical support, and operating system installation to new users. Many Internet communities also provide support to Linux users and developers. Most distributions and free software / open-source projects have IRC chatrooms or newsgroups. Online forums are another means of support, with notable examples being Unix & Linux Stack Exchange,[119][120] LinuxQuestions.org and the various distribution-specific support and community forums, such as ones for Ubuntu, Fedora, Arch Linux, Gentoo, etc. Linux distributions host mailing lists; commonly there will be a specific topic such as usage or development for a given list.
There are several technology websites with a Linux focus. Print magazines on Linux often bundle cover disks that carry software or even complete Linux distributions.[121][122]
Although Linux distributions are generally available without charge, several large corporations sell, support, and contribute to the development of the components of the system and free software. An analysis of the Linux kernel in 2017 showed that well over 85% of the code was developed by programmers who are being paid for their work, leaving about 8.2% to unpaid developers and 4.1% unclassified.[123] Some of the major corporations that provide contributions include Intel, Samsung, Google, AMD, Oracle, and Facebook.[123] Several corporations, notably Red Hat, Canonical, and SUSE have built a significant business around Linux distributions.
The free software licenses, on which the various software packages of a distribution built on the Linux kernel are based, explicitly accommodate and encourage commercialization; the relationship between a Linux distribution as a whole and individual vendors may be seen as symbiotic. One common business model of commercial suppliers is charging for support, especially for business users. A number of companies also offer a specialized business version of their distribution, which adds proprietary support packages and tools to administer higher numbers of installations or to simplify administrative tasks.[124]
Another business model is to give away the software to sell hardware. This used to be the norm in the computer industry, with operating systems such as CP/M, Apple DOS, and versions of the classic Mac OS before 7.6 freely copyable (but not modifiable). As computer hardware standardized throughout the 1980s, it became more difficult for hardware manufacturers to profit from this tactic, as the OS would run on any manufacturer's computer that shared the same architecture.[125][126]
Programming on Linux
[edit]Most programming languages support Linux either directly or through third-party community based ports.[127] The original development tools used for building both Linux applications and operating system programs are found within the GNU toolchain, which includes the GNU Compiler Collection (GCC) and the GNU Build System. Amongst others, GCC provides compilers for Ada, C, C++, Go and Fortran. Many programming languages have a cross-platform reference implementation that supports Linux, for example PHP, Perl, Ruby, Python, Java, Go, Rust and Haskell. First released in 2003, the LLVM project provides an alternative cross-platform open-source compiler for many languages. Proprietary compilers for Linux include the Intel C++ Compiler, Sun Studio, and IBM XL C/C++ Compiler. BASIC is available in procedural form from QB64, PureBasic, Yabasic, GLBasic, Basic4GL, XBasic, wxBasic, SdlBasic, and Basic-256, as well as object oriented through Gambas, FreeBASIC, B4X, Basic for Qt, Phoenix Object Basic, NS Basic, ProvideX, Chipmunk Basic, RapidQ and Xojo. Pascal is implemented through GNU Pascal, Free Pascal, and Virtual Pascal, as well as graphically via Lazarus, PascalABC.NET, or Delphi using FireMonkey (previously through Borland Kylix).[128][129]
A common feature of Unix-like systems, Linux includes traditional specific-purpose programming languages targeted at scripting, text processing and system configuration and management in general. Linux distributions support shell scripts, awk, sed and make. Many programs also have an embedded programming language to support configuring or programming themselves. For example, regular expressions are supported in programs like grep and locate, the traditional Unix message transfer agent Sendmail contains its own Turing complete scripting system, and the advanced text editor GNU Emacs is built around a general purpose Lisp interpreter.[130][131][132]
Most distributions also include support for PHP, Perl, Ruby, Python and other dynamic languages. While not as common, Linux also supports C# and other CLI languages (via Mono), Vala, and Scheme. Guile Scheme acts as an extension language targeting the GNU system utilities, seeking to make the conventionally small, static, compiled C programs of Unix design rapidly and dynamically extensible via an elegant, functional high-level scripting system; many GNU programs can be compiled with optional Guile bindings to this end. A number of Java virtual machines and development kits run on Linux, including the original Sun Microsystems JVM (HotSpot), and IBM's J2SE RE, as well as many open-source projects like Kaffe and Jikes RVM; Kotlin, Scala, Groovy and other JVM languages are also available.
GNOME and KDE are popular desktop environments and provide a framework for developing applications. These projects are based on the GTK and Qt widget toolkits, respectively, which can also be used independently of the larger framework. Both support a wide variety of languages. There are a number of Integrated development environments available including Anjuta, Code::Blocks, CodeLite, Eclipse, Geany, ActiveState Komodo, KDevelop, Lazarus, MonoDevelop, NetBeans, and Qt Creator, while the long-established editors Vim, nano and Emacs remain popular.[133]
Hardware support
[edit]
The Linux kernel is a widely ported operating system kernel, available for devices ranging from mobile phones to supercomputers; it runs on a highly diverse range of computer architectures, including ARM-based Android smartphones and the IBM Z mainframes. Specialized distributions and kernel forks exist for less mainstream architectures; for example, the ELKS kernel fork can run on Intel 8086 or Intel 80286 16-bit microprocessors,[134] while the μClinux kernel fork may run on systems without a memory management unit.[135] The kernel also runs on architectures that were only ever intended to use a proprietary manufacturer-created operating system, such as Macintosh computers[136][137] (with PowerPC, Intel, and Apple silicon processors), PDAs, video game consoles, portable music players, and mobile phones.
Linux has a reputation for supporting old hardware very well by maintaining standardized drivers for a long time.[138] There are several industry associations and hardware conferences devoted to maintaining and improving support for diverse hardware under Linux, such as FreedomHEC. Over time, support for different hardware has improved in Linux, resulting in any off-the-shelf purchase having a "good chance" of being compatible.[139]
In 2014, a new initiative was launched to automatically collect a database of all tested hardware configurations.[140]
Uses
[edit]Market share and uptake
[edit]Many quantitative studies of free/open-source software focus on topics including market share and reliability, with numerous studies specifically examining Linux.[141] The Linux market is growing, and the Linux operating system market size is expected to see a growth of 19.2% by 2027, reaching $15.64 billion, compared to $3.89 billion in 2019.[142] Analysts project a Compound Annual Growth Rate (CAGR) of 13.7% between 2024 and 2032, culminating in a market size of US$34.90 billion by the latter year.[citation needed] Analysts and proponents attribute the relative success of Linux to its security, reliability, low cost, and freedom from vendor lock-in.[143][144]
- Desktops and laptops
- According to web server statistics (that is, based on the numbers recorded from visits to websites by client devices), in October 2024, the estimated market share of Linux on desktop computers was around 4.3%. In comparison, Microsoft Windows had a market share of around 73.4%, while macOS covered around 15.5%.[45]
- Web servers
- W3Cook publishes stats that use the top 1,000,000 Alexa domains,[145] which as of May 2015[update] estimate that 96.55% of web servers run Linux, 1.73% run Windows, and 1.72% run FreeBSD.[146]
- W3Techs publishes stats that use the top 10,000,000 Alexa domains and the top 1,000,000 Tranco domains, updated monthly[147] and as of November 2020[update] estimate that Linux is used by 39% of the web servers, versus 21.9% being used by Microsoft Windows.[148] 40.1% used other types of Unix.[149]
- IDC's Q1 2007 report indicated that Linux held 12.7% of the overall server market at that time;[150] this estimate was based on the number of Linux servers sold by various companies, and did not include server hardware purchased separately that had Linux installed on it later.
As of 2024, estimates suggest Linux accounts for at least 80% of the public cloud workload, partly thanks to its widespread use in platforms like Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform.[151][152][153]
ZDNet report that 96.3% of the top one million web servers are running Linux.[154][155] W3Techs state that Linux powers at least 39.2% of websites whose operating system is known, with other estimates saying 55%.[156][157]
- Mobile devices
- Android, which is based on the Linux kernel, has become the dominant operating system for smartphones. In April 2023, 68.61% of mobile devices accessing websites using StatCounter were from Android.[158] Android is also a popular operating system for tablets, being responsible for more than 60% of tablet sales as of 2013[update].[159] According to web server statistics, as of October 2021[update] Android has a market share of about 71%, with iOS holding 28%, and the remaining 1% attributed to various niche platforms.[160]
- Film production
- For years, Linux has been the platform of choice in the film industry. The first major film produced on Linux servers was 1997's Titanic.[161][162] Since then major studios including DreamWorks Animation, Pixar, Weta Digital, and Industrial Light & Magic have migrated to Linux.[163][164][165] According to the Linux Movies Group, more than 95% of the servers and desktops at large animation and visual effects companies use Linux.[166]
- Use in government
- Linux distributions have also gained popularity with various local and national governments. News of the Russian military creating its own Linux distribution has also surfaced, and has come to fruition as the G.H.ost Project.[167] The Indian state of Kerala has gone to the extent of mandating that all state high schools run Linux on their computers.[168][169] China uses Linux exclusively as the operating system for its Loongson processor family to achieve technology independence.[170] In Spain, some regions have developed their own Linux distributions, which are widely used in education and official institutions, like gnuLinEx in Extremadura and Guadalinex in Andalusia. France and Germany have also taken steps toward the adoption of Linux.[171] North Korea's Red Star OS, developed as of 2002[update], is based on a version of Fedora Linux.[172]
Copyright, trademark, and naming
[edit]The Linux kernel is licensed under the GNU General Public License (GPL), version 2. The GPL requires that anyone who distributes software based on source code under this license must make the originating source code (and any modifications) available to the recipient under the same terms.[173] Other key components of a typical Linux distribution are also mainly licensed under the GPL, but they may use other licenses; many libraries use the GNU Lesser General Public License (LGPL), a more permissive variant of the GPL, and the X.Org implementation of the X Window System uses the MIT License.
Torvalds states that the Linux kernel will not move from version 2 of the GPL to version 3.[174][175] He specifically dislikes some provisions in the new license which prohibit the use of the software in digital rights management.[176] It would also be impractical to obtain permission from all the copyright holders, who number in the thousands.[177]
A 2001 study of Red Hat Linux 7.1 found that this distribution contained 30 million source lines of code.[178] Using the Constructive Cost Model, the study estimated that this distribution required about eight thousand person-years of development time. According to the study, if all this software had been developed by conventional proprietary means, it would have cost about US$1.86 billion[179] to develop in 2024 in the United States.[178] Most of the source code (71%) was written in the C programming language, but many other languages were used, including C++, Lisp, assembly language, Perl, Python, Fortran, and various shell scripting languages. Slightly over half of all lines of code were licensed under the GPL. The Linux kernel itself was 2.4 million lines of code, or 8% of the total.[178]
In a later study, the same analysis was performed for Debian version 4.0 (etch, which was released in 2007).[180] This distribution contained close to 283 million source lines of code, and the study estimated that it would have required about seventy three thousand man-years and cost US$10.4 billion[179] (in 2024 dollars) to develop by conventional means.

In the United States, the name Linux is a trademark registered to Linus Torvalds.[15] Initially, nobody registered it. However, on August 15, 1994, William R. Della Croce Jr. filed for the trademark Linux, and then demanded royalties from Linux distributors. In 1996, Torvalds and some affected organizations sued him to have the trademark assigned to Torvalds, and, in 1997, the case was settled.[182] The licensing of the trademark has since been handled by the Linux Mark Institute (LMI). Torvalds has stated that he trademarked the name only to prevent someone else from using it. LMI originally charged a nominal sublicensing fee for use of the Linux name as part of trademarks,[183] but later changed this in favor of offering a free, perpetual worldwide sublicense.[184]

The Free Software Foundation (FSF) prefers GNU/Linux as the name when referring to the operating system as a whole, because it considers Linux distributions to be variants of the GNU operating system initiated in 1983 by Richard Stallman, president of the FSF.[29][30] The foundation explicitly takes no issue over the name Android for the Android OS, which is also an operating system based on the Linux kernel, as GNU is not a part of it.
A minority of public figures and software projects other than Stallman and the FSF, notably distributions consisting of only free software, such as Debian (which had been sponsored by the FSF up to 1996),[185] also use GNU/Linux when referring to the operating system as a whole.[186][187][188] Most media and common usage, however, refers to this family of operating systems simply as Linux, as do many large Linux distributions (for example, SUSE Linux and Red Hat Enterprise Linux).
As of May 2011[update], about 8% to 13% of the lines of code of the Linux distribution Ubuntu (version "Natty") is made of GNU components (the range depending on whether GNOME is considered part of GNU); meanwhile, 6% is taken by the Linux kernel, increased to 9% when including its direct dependencies.[189]
See also
[edit]- Comparison of Linux distributions
- Comparison of open-source and closed-source software
- Comparison of operating systems
- Comparison of X Window System desktop environments
- Criticism of desktop Linux
- Criticism of Linux
- Linux kernel version history
- Linux Documentation Project
- Linux From Scratch
- Linux Software Map
- List of Linux books
- List of Linux distributions
- List of games released on Linux
- List of operating systems
- Loadable kernel module
- Usage share of operating systems
- Timeline of operating systems
Notes
[edit]- ^ util-linux is the standard set of utilities for use as part of the Linux operating system.[3]
- ^ BusyBox is a userland written with size-optimization and limited resources in mind, used in many embedded Linux distributions. BusyBox replaces most GNU Core Utilities.[4] One notable Desktop distribution using BusyBox is Alpine Linux.[5]
- ^ GNU is a userland used in various Linux distributions.[6][7][8] The GNU userland contains system daemons, user applications, the GUI, and various libraries. GNU Core Utilities are an essential part of most distributions. Most Linux distributions use the X Window system.[9] Other components of the userland, such as the widget toolkit, vary with the specific distribution, desktop environment, and user configuration.[10]
- ^ Plan 9 from User Space (aka plan9port) is a port of many Plan 9 libraries and programs from their native Plan 9 environment to Unix-like operating systems, including Linux and FreeBSD.[11][12]
- ^ Toybox is a userland that combines over 200 Unix command line utilities together into a single BSD-licensed executable. After a talk at the 2013 Embedded Linux Conference, Google merged toybox into AOSP and began shipping toybox in Android Marshmallow in 2015.[13]
- ^ The name "Linux" itself is a trademark owned by Linus Torvalds[15] and administered by the Linux Mark Institute.
- ^ As measured by the TOP500 list, which uses HPL to measure computational power
- ^ As measured by the TOP500 list, which uses HPL to measure computational power
References
[edit]- ^ Linux Online (2008). "Linux Logos and Mascots". Archived from the original on August 15, 2010. Retrieved August 11, 2009.
- ^ "Linus Torvalds reveals the 'true' anniversary of Linux code". Retrieved August 29, 2025.
- ^ "The util-linux code repository". GitHub. Retrieved October 31, 2024.
- ^ "The Busybox about page". busybox.net. Archived from the original on November 27, 2021. Retrieved November 30, 2021.
- ^ "The Alpine Linux about page". alpinelinux.org. Archived from the original on May 8, 2011. Retrieved November 30, 2021.
- ^ "GNU Userland". April 10, 2012. Archived from the original on March 8, 2016.
- ^ "Unix Fundamentals — System Administration for Cyborgs". Archived from the original on October 5, 2016.
- ^ "Operating Systems — Introduction to Information and Communication Technology". Archived from the original on February 21, 2016.
- ^ "The X Window System". Archived from the original on January 20, 2016.
- ^ "PCLinuxOS Magazine – HTML". Archived from the original on May 15, 2013.
- ^ "Plan 9 from User Space". Retrieved October 31, 2024.
- ^ "The Plan 9 from User Space code repository". GitHub. Retrieved October 31, 2024.
- ^ Landley, Robert. "What is ToyBox?". Toybox project website. Archived from the original on November 5, 2023. Retrieved October 31, 2024.
- ^ "The Linux Kernel Archives: Frequently asked questions". kernel.org. September 2, 2014. Archived from the original on September 5, 2015. Retrieved September 4, 2015.
- ^ a b "U.S. Reg No: 1916230". United States Patent and Trademark Office. Archived from the original on June 24, 2013. Retrieved April 1, 2006.
- ^ a b "Re: How to pronounce Linux?". Newsgroup: comp.os.linux. April 23, 1992. Usenet: 1992Apr23.123216.22024@klaava.Helsinki.FI. Retrieved January 9, 2007.
- ^ Eckert, Jason W. (2012). Linux+ Guide to Linux Certification (Third ed.). Boston, Massachusetts: Cengage Learning. p. 33. ISBN 978-1111541538. Archived from the original on May 9, 2013. Retrieved April 14, 2013.
The shared commonality of the kernel is what defines a system's membership in the Linux family; the differing OSS applications that can interact with the common kernel are what differentiate Linux distributions.
- ^ "Twenty Years of Linux according to Linus Torvalds". ZDNet. April 13, 2011. Archived from the original on September 19, 2016. Retrieved September 19, 2016.
- ^ Linus Benedict Torvalds (October 5, 1991). "Free minix-like kernel sources for 386-AT". Newsgroup: comp.os.minix. Archived from the original on March 2, 2013. Retrieved September 30, 2011.
- ^ "What Is Linux: An Overview of the Linux Operating System". Medium. Archived from the original on June 12, 2020. Retrieved December 21, 2019.
- ^ "Mac, Windows And Now, Linux". The New York Times. October 8, 1998. Retrieved December 4, 2024.
- ^ "Major Distributions An overview of major Linux distributions and FreeBSD". Distrowatch. Archived from the original on April 2, 2013. Retrieved November 15, 2024.
- ^ Andrus, Brian (July 8, 2024). "Top 12 Most Popular Linux Distros". DreamHost Blog. Retrieved November 15, 2024.
- ^ DistroWatch. "DistroWatch.com: Put the fun back into computing. Use Linux, BSD". distrowatch.com. Archived from the original on April 2, 2013. Retrieved December 30, 2016.
- ^ himanshu, Swapnil. "Best Linux distros of 2016: Something for everyone". CIO. Archived from the original on December 31, 2016. Retrieved February 1, 2022.
- ^ "10 Top Most Popular Linux Distributions of 2016". www.tecmint.com. Archived from the original on December 30, 2016. Retrieved December 30, 2016.
- ^ Ha, Dan (February 28, 2023). "9 reasons Linux is a popular choice for servers". LogicMonitor. Retrieved December 11, 2024.
- ^ "Linux OS on IBM Z Mainframe". www.ibm.com. Retrieved December 11, 2024.
- ^ a b "GNU/Linux FAQ". Gnu.org. Archived from the original on September 7, 2013. Retrieved September 1, 2013.
- ^ a b "Linux and the GNU System". Gnu.org. Archived from the original on March 19, 2017. Retrieved September 1, 2013.
- ^ Barry Levine (August 26, 2013). "Linux' 22th [sic] Birthday Is Commemorated – Subtly – by Creator". Simpler Media Group, Inc. Archived from the original on May 18, 2015. Retrieved May 10, 2015.
Originally developed for Intel x86-based PCs, Torvalds' "hobby" has now been released for more hardware platforms than any other OS in history.
- ^ a b Linksvayer, Mike (1993). "The Choice of a GNU Generation – An Interview With Linus Torvalds". Meta magazine. Archived from the original on February 25, 2009. Retrieved January 20, 2009.
- ^ Bentson, Randolph. "The Humble Beginnings of Linux". dl.acm.org. Retrieved November 21, 2024.
- ^ "History of Unix, BSD, GNU, and Linux – CrystalLabs — Davor Ocelic's Blog". crystallabs.io. Archived from the original on November 22, 2024. Retrieved November 22, 2024.
- ^ "LINUX: UNIX POWER FOR PEANUTS". Washington Post. May 22, 1995.
- ^ a b "What is Linux?". Opensource.com. Archived from the original on May 13, 2020. Retrieved May 12, 2020.
- ^ "Various Licenses and Comments about Them – GNU Project – Free Software Foundation". www.gnu.org. Archived from the original on July 20, 2017. Retrieved November 15, 2024.
- ^ "GNU General Public License". GNU.org. Archived from the original on February 5, 2021. Retrieved November 15, 2024.
- ^ Casad, Joe. "Copyleft » Linux Magazine". Linux Magazine. Archived from the original on October 14, 2024. Retrieved November 15, 2024.
- ^ "Linux kernel licensing rules". Linux kernel documentation. Archived from the original on September 6, 2022. Retrieved June 17, 2022.
- ^ Linux-syscall-note on GitHub
- ^ "Operating System Market Share Worldwide". StatCounter Global Stats. Archived from the original on February 15, 2020. Retrieved October 18, 2020.
- ^ McPherson, Amanda (December 13, 2012). "What a Year for Linux: Please Join us in Celebration". Linux Foundation. Archived from the original on April 17, 2014. Retrieved April 16, 2014.
- ^ Linux Devices (November 28, 2006). "Trolltech rolls "complete" Linux smartphone stack". Archived from the original on May 25, 2012. Retrieved January 12, 2017.
- ^ a b "Desktop Operating System Market Share Worldwide". StatCounter Global Stats. Archived from the original on March 21, 2024. Retrieved March 23, 2024.
- ^ "ChromeOS Kernel" (PDF). kernel-recipes.org. Archived from the original (PDF) on March 24, 2024. Retrieved December 11, 2024.
- ^ "How the Google Chrome OS Works". HowStuffWorks. June 30, 2010. Retrieved December 11, 2024.
- ^ Steven J. Vaughan-Nichols. "Chromebook shipments leap by 67 percent". ZDNet. Archived from the original on September 29, 2015. Retrieved September 29, 2015.
- ^ "OS Market Share and Usage Trends". W3Cook.com. Archived from the original on August 6, 2015.
- ^ Thibodeau, Patrick (2009). "IBM's newest mainframe is all Linux". Computerworld (published December 9, 2009). Archived from the original on November 11, 2016. Retrieved February 22, 2009.
- ^ Vaughan-Nichols, Steven J. (2017). "Linux totally dominates supercomputers". ZDNet (published November 14, 2017). Archived from the original on November 14, 2017. Retrieved October 25, 2018.
- ^ a b Lyons, Daniel (March 15, 2005). "Linux rules supercomputers". Forbes. Archived from the original on February 24, 2007. Retrieved February 22, 2007.
- ^ Eric Brown (March 29, 2019). "Linux continues advance in smart TV market". linuxgizmos.com. Archived from the original on June 29, 2020. Retrieved May 15, 2020.
- ^ "Sony Open Source Code Distribution Service". Sony Electronics. Archived from the original on October 4, 2011. Retrieved October 8, 2011.
- ^ "Sharp Liquid Crystal Television Instruction Manual" (PDF). Sharp Electronics. p. 24. Archived from the original (PDF) on January 11, 2012. Retrieved October 8, 2011.
- ^ Steven J. Vaughan-Nichols (January 4, 2019). "It's a Linux-powered car world". ZDNet. Archived from the original on August 3, 2020. Retrieved May 15, 2020.
- ^ "From Earth to orbit with Linux and SpaceX". ZDNet. Archived from the original on August 3, 2020. Retrieved June 6, 2020.
- ^ "Linux on Mars!". IT PRO. August 18, 2021. Archived from the original on May 19, 2022. Retrieved June 30, 2022.
- ^ Ritchie, D.M. (October 1984), "The UNIX System: The Evolution of the UNIX Time-sharing System", AT&T Bell Laboratories Technical Journal, 63 (8): 1577, doi:10.1002/j.1538-7305.1984.tb00054.x, S2CID 571269,
However, UNIX was born in 1969 ...
- ^ Meeker, Heather (September 21, 2017). "Open source licensing: What every technologist should know". Opensource.com. Archived from the original on September 24, 2017. Retrieved September 24, 2017.
- ^ "AT&T Breakup II: Highlights in the History of a Telecommunications Giant". Los Angeles Times. September 21, 1995.
- ^ Michael Vetter (August 10, 2021). Acquisitions and Open Source Software Development. Springer Nature. p. 13. ISBN 978-3-658-35084-0. Archived from the original on August 5, 2022. Retrieved August 5, 2022.
- ^ Christopher Tozzi (August 11, 2017). For Fun and Profit: A History of the Free and Open Source Software Revolution. MIT Press. p. 52. ISBN 978-0-262-03647-4. Archived from the original on August 5, 2022. Retrieved August 5, 2022.
- ^ Eric, S. Raymond (October 1999). The Cathedral and the Bazaar. Sebastopol, California: O'Reilly & Associates, Inc. p. 12. ISBN 0-596-00108-8. Archived from the original on July 18, 2022. Retrieved July 21, 2022.
In 1982, a group of Unix hackers from Stanford and Berkeley founded Sun Microsystems on the belief that Unix running on relatively inexpensive 68000-based hardware would prove a winning combination for a wide variety of applications. They were right, and their vision set the pattern for an entire industry. While still priced out of reach of most individuals, workstations were cheap for corporations and universities; networks of them (one to a user) rapidly replaced the older VAXes and other time-sharing systems
- ^ Lazzareschi, Carla (January 31, 1988). "Sun Microsystems Is Blazing a Red-Hot Trail in Computers: $300-Million AT&T; Deal Moves Firm to Set Sights on IBM". Los Angeles Times. Archived from the original on July 21, 2022. Retrieved July 21, 2022.
- ^ "About the GNU Project – Initial Announcement". Gnu.org. June 23, 2008. Archived from the original on March 5, 2009. Retrieved March 9, 2009.
- ^ Christopher Tozzi (August 23, 2016). "Open Source History: Why Did Linux Succeed?". Archived from the original on August 17, 2017. Retrieved August 17, 2017.
- ^ a b "MINIX is now available under the BSD license". minix1.woodhull.com. April 9, 2000. Archived from the original on March 4, 2016.
- ^ Moody, Glyn (August 1, 1997). "The Greatest OS That (N)ever Was". Wired. Archived from the original on July 25, 2022. Retrieved July 20, 2022.
- ^ Torvalds, Linus. "What would you like to see most in minix?". Newsgroup: comp.os.minix. Usenet: 1991Aug25.205708.9541@klaava.Helsinki.FI. Archived from the original on May 9, 2013. Retrieved September 9, 2006.
- ^ Torvalds, Linus; Diamond, David (2001). Just for Fun: The Story of an Accidental Revolutionary. New York City: HarperCollins. pp. 78–80. ISBN 0-06-662073-2.
- ^ Linus Torvalds (October 14, 1992). "Chicken and egg: How was the first linux gcc binary created??". Newsgroup: comp.os.minix. Usenet: 1992Oct12.100843.26287@klaava.Helsinki.FI. Archived from the original on May 9, 2013. Retrieved August 17, 2013.
- ^ Torvalds, Linus (January 5, 1992). "Release notes for Linux v0.12". Linux Kernel Archives. Archived from the original on August 19, 2007. Retrieved July 23, 2007.
The Linux copyright will change: I've had a couple of requests to make it compatible with the GNU copyleft, removing the "you may not distribute it for money" condition. I agree. I propose that the copyright be changed so that it confirms to GNU ─ pending approval of the persons who have helped write code. I assume this is going to be no problem for anybody: If you have grievances ("I wrote that code assuming the copyright would stay the same") mail me. Otherwise, The GNU copyleft takes effect since the first of February. If you do not know the gist of the GNU copyright ─ read it.
- ^ "Overview of the GNU System". Gnu.org. Archived from the original on February 28, 2009. Retrieved March 9, 2009.
- ^ "Linus vs. Tanenbaum debate". Archived from the original on October 3, 2012. Retrieved February 19, 2014.
- ^ a b Torvalds, Linus and Diamond, David, Just for Fun: The Story of an Accidental Revolutionary, 2001, ISBN 0-06-662072-4
- ^ Torvalds, Linus (March 1994). "Index of /pub/linux/kernel/SillySounds". Archived from the original on October 8, 2009. Retrieved August 3, 2009.
- ^ Garfinkel, Simson; Spafford, Gene; Schwartz, Alan (2003). Practical UNIX and Internet Security. O'Reilly. p. 21.
- ^ Santhanam, Anand; Vishal Kulkarni (March 1, 2002). "Linux system development on an embedded device". DeveloperWorks. IBM. Archived from the original on March 29, 2007. Retrieved July 26, 2007.
- ^ Galli, Peter (August 8, 2007). "Vista Aiding Linux Desktop, Strategist Says". eWEEK. Ziff Davis Enterprise Inc. Archived from the original on July 9, 2009. Retrieved November 19, 2007.
- ^ Paul, Ryan (September 3, 2007). "Linux market share set to surpass Win 98, OS X still ahead of Vista". Ars Technica. Ars Technica, LLC. Archived from the original on November 16, 2007. Retrieved November 19, 2007.
- ^ Beer, Stan (January 23, 2007). "Vista to play second fiddle to XP until 2009: Gartner". iTWire. Archived from the original on December 3, 2008. Retrieved November 19, 2007.
- ^ "Operating System Marketshare for Year 2007". Market Share. Net Applications. November 19, 2007. Archived from the original on June 24, 2013. Retrieved November 19, 2007.
- ^ "Vista slowly continues its growth; Linux more aggressive than Mac OS during the summer". XiTiMonitor. AT Internet/XiTi.com. September 24, 2007. Archived from the original on December 14, 2007. Retrieved November 19, 2007.
- ^ "Global Web Stats". W3Counter. Awio Web Services LLC. November 10, 2007. Archived from the original on June 28, 2012. Retrieved November 19, 2007.
- ^ "June 2004 Zeitgeist". Google Press Center. Google Inc. August 12, 2004. Archived from the original on July 11, 2011. Retrieved November 19, 2007.
- ^ McMillan, Robert (October 10, 2003). "IBM, Brazilian government launch Linux effort". www.infoworld.com. IDG News Service. Archived from the original on March 15, 2015. Retrieved February 16, 2015.
- ^ "About Us – The Linux Foundation". Archived from the original on October 28, 2018. Retrieved October 1, 2018.
- ^ "Staff and Board — Free Software Foundation — Working together for free software". Free Software Foundation. Archived from the original on November 21, 2023. Retrieved November 22, 2023.
- ^ "Free software is a matter of liberty, not price — Free Software Foundation — working together for free software". Fsf.org. Archived from the original on July 14, 2012. Retrieved July 12, 2012.
- ^ Email correspondence on the Linux Kernel development mailing list Linus Torvalds (November 30, 2001). "Re: Coding style, a non-issue". kernel.org. Archived from the original on August 12, 2021. Retrieved August 10, 2020.
- ^ Raymond, Eric S. (2001). O'Reilly, Tim (ed.). The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary (Second ed.). O'Reilly & Associates. p. 16. ISBN 0-596-00108-8.
- ^ "You have to design it you cannot asymptotically reach Security." Cantrill 2017
- ^ The Cantrill Strikes Back | BSD Now 117. Jupiter Broadcasting. November 26, 2015. Archived from the original on December 14, 2020. Retrieved September 7, 2021 – via YouTube.
- ^ "Why is Linux called a monolithic kernel?". stackoverflow.com. 2009. Archived from the original on October 17, 2013. Retrieved October 16, 2013.
- ^ a b "Anatomy of a Linux System" (PDF). O'Reilly. July 23–26, 2001. Archived (PDF) from the original on September 4, 2019. Retrieved October 10, 2018.
- ^ "Wayland vs. Xorg: Will Wayland Replace Xorg?". CBT Nuggets. Retrieved December 26, 2024.
- ^ "What's the deal with X11 and Wayland? – TUXEDO Computers". www.tuxedocomputers.com. Retrieved December 26, 2024.
- ^ "Admin Guide README". Kernel.org git repositories.
- ^ M. Tim Jones (May 31, 2006). "Inside the Linux boot process". IBM Developer Works. Archived from the original on October 17, 2013. Retrieved October 16, 2013.
- ^ "What are the Different Types of Shells in Linux? | DigitalOcean". www.digitalocean.com. Retrieved November 17, 2024.
- ^ "Understanding Linux Shells". Hivelocity Hosting. Retrieved November 17, 2024.
- ^ Jake Edge (June 8, 2013). "The Wayland Situation: Facts About X vs. Wayland (Phoronix)". LWN.net. Archived from the original on October 22, 2013. Retrieved October 11, 2013.
- ^ Miller, Matthew (May 6, 2022). "Announcing Fedora 36". Archived from the original on August 2, 2022. Retrieved October 28, 2022.
- ^ Leiva-Gomez, Miguel (May 18, 2023). "What Is Wayland and What Does It Mean for Linux Users?". www.maketecheasier.com. Archived from the original on January 27, 2021. Retrieved June 18, 2024.
- ^ "Linux TV: Television with Linux". linuxtv.org. Archived from the original on November 6, 2013. Retrieved October 16, 2013.
- ^ Jonathan Corbet (October 11, 2006). "The Video4Linux2 API: an introduction". LWN.net. Archived from the original on October 7, 2013. Retrieved October 16, 2013.
- ^ "Part I. Video for Linux Two API Specification". Chapter 7. Changes. linuxtv.org. Archived from the original on October 17, 2013. Retrieved October 16, 2013.
- ^ "What is Copyleft? – GNU Project – Free Software Foundation". www.gnu.org. Archived from the original on October 6, 2015. Retrieved May 12, 2020.
- ^ "POSIX.1 (FIPS 151-2) Certification". Archived from the original on February 26, 2012.
- ^ "How source code compatible is Debian with other Unix systems?". Debian FAQ. the Debian project. Archived from the original on October 16, 2011.
- ^ Eissfeldt, Heiko (August 1, 1996). "Certifying Linux". Linux Journal. Archived from the original on April 4, 2016.
- ^ "The Debian GNU/Linux FAQ – Compatibility issues". Archived from the original on October 10, 2011. Retrieved September 17, 2011.
- ^ Proven, Liam (January 17, 2023). "Unix is dead. Long live Unix!". The Register. Archived from the original on May 5, 2025. Retrieved May 13, 2025.
- ^ comments, 26 Jul 2018 Steve OvensFeed 151up 9. "The evolution of package managers". Opensource.com. Archived from the original on July 26, 2018. Retrieved May 12, 2020.
{{cite web}}: CS1 maint: numeric names: authors list (link) - ^ "Get Fedora". getfedora.org. Archived from the original on July 11, 2020. Retrieved February 24, 2020.
- ^ design, Cynthia Sanchez: front-end and UI, Zvezdana Marjanovic: graphic. "The makers' choice for sysadmins, developers and desktop users". openSUSE. Archived from the original on August 5, 2005. Retrieved February 24, 2020.
{{cite web}}: CS1 maint: multiple names: authors list (link) - ^ Inshanally, Philip (September 26, 2018). CompTIA Linux+ Certification Guide: A comprehensive guide to achieving LX0-103 and LX0-104 certifications with mock exams. Packt Publishing Ltd. p. 180. ISBN 978-1-78934-253-6.
- ^ Barrett, Daniel J. (August 27, 2024). Linux kurz & gut: Die wichtigen Befehle (in German). O'Reilly. p. 61. ISBN 978-3-96010-868-9.
- ^ Linux Format. "Linux Format DVD contents". Archived from the original on August 8, 2008. Retrieved January 17, 2008.
- ^ linux-magazine.com. "Current Issue". Archived from the original on January 10, 2008. Retrieved January 17, 2008.
- ^ a b "State of Linux Kernel Development 2017". Linux Foundation. Archived from the original on November 14, 2021. Retrieved November 14, 2021.
- ^ "From Freedom to Profit: Red Hat's Latest Move – An In-Depth Review of its Impact on Free Software and Open Source Values". Linux Careers. Retrieved November 16, 2024.
- ^ Thompson, Ben (November 11, 2020). "Apple's Shifting Differentiation". Stratechery by Ben Thompson. Retrieved December 17, 2024.
- ^ Equity, International Brand (May 28, 2024). "Apple Business Model Analysis". International Brand Equity (IBE). Retrieved December 17, 2024.
- ^ "gfortran — the GNU Fortran compiler, part of GCC". GNU GCC. Archived from the original on April 18, 2020. Retrieved May 3, 2020.
- ^ "GCC, the GNU Compiler Collection". www.gnu.org. Archived from the original on August 27, 2024. Retrieved December 17, 2024.
- ^ "GCC vs. Clang/LLVM: An In-Depth Comparison of C/C++ Compilers".
- ^ Das, Shakti (October 1, 2023). "Understanding Regular Expressions in Shell Scripting". Learn Scripting. Retrieved December 17, 2024.
- ^ "Regular Expressions in Grep (Regex)". linuxize.com. March 11, 2020. Archived from the original on January 17, 2025. Retrieved December 17, 2024.
- ^ "Sculpting text with regex, grep, sed and awk". matt.might.net. Archived from the original on December 17, 2024. Retrieved December 17, 2024.
- ^ Brockmeier, Joe. "A survey of Linux Web development tools". Archived from the original on October 19, 2006. Retrieved December 16, 2006.
- ^ Intel, Altus (September 25, 2024). "Elks 0.8 Released: Linux for 16-bit Intel CPUs". Altus Intel. Archived from the original on November 27, 2024. Retrieved November 16, 2024.
- ^ "UClinux". community.intel.com. June 26, 2019. Retrieved November 16, 2024.
- ^ Das, Ankush (January 21, 2021). "Finally! Linux Runs Gracefully On Apple M1 Chip". It's FOSS News. Archived from the original on November 13, 2021. Retrieved November 13, 2021.
- ^ Jimenez, Jorge (October 8, 2021). "Developers finally get Linux running on an Apple M1-powered Mac". PC Gamer. Archived from the original on January 11, 2023. Retrieved November 13, 2021.
- ^ Proven, Liam (November 10, 2022). "OpenPrinting keeps old printers working, even on Windows". The Register. Archived from the original on January 7, 2023. Retrieved January 7, 2023.
- ^ Bruce Byfield (August 14, 2007). "Is my hardware Linux-compatible? Find out here". Linux.com. Archived from the original on September 5, 2015. Retrieved September 4, 2015.
- ^ "Linux Hardware". Linux Hardware Project. Archived from the original on January 26, 2021. Retrieved June 26, 2020.
- ^ Wheeler, David A. "Why Open Source Software/Free Software (OSS/FS)? Look at the Numbers!". Archived from the original on April 5, 2006. Retrieved April 1, 2006.
- ^ "Linux Operating System Market Size, Share and Forecast [2020–2027]". www.fortunebusinessinsights.com. Archived from the original on November 12, 2021. Retrieved November 12, 2021.
- ^ "The rise and rise of Linux". Computer Associates International. October 10, 2005. Archived from the original on February 17, 2007.
- ^ Jeffrey S. Smith. "Why customers are flocking to Linux". IBM. Archived from the original on June 3, 2008.
- ^ "W3Cook FAQ". W3Cook.com. Archived from the original on June 27, 2015. Retrieved June 30, 2015.
- ^ "OS Market Share and Usage Trends". W3Cook.com. Archived from the original on August 6, 2015. Retrieved June 30, 2015.
- ^ "Technologies Overview – methodology information". W3Techs. Retrieved June 30, 2015.
- ^ "Linux vs. Windows usage statistics, November 2021". W3Techs. Archived from the original on March 30, 2022. Retrieved November 14, 2021.
- ^ "Usage Statistics and Market Share of Unix for Websites, November 2021". W3Techs. Archived from the original on September 25, 2021. Retrieved November 14, 2021.
- ^ "─ IDC Q1 2007 report". Linux-watch.com. May 29, 2007. Archived from the original on April 1, 2021. Retrieved March 9, 2009.
- ^ "Server Operating System Market Size | Mordor Intelligence". www.mordorintelligence.com. Archived from the original on December 19, 2024. Retrieved December 17, 2024.
- ^ "Worldwide Server Market Summary and Outlook, 4Q23". IDC: The premier global market intelligence company. Retrieved December 17, 2024.
- ^ Elad, Barry (February 3, 2024). "Linux Statistics 2024 By Market Share, Usage Data, Number Of Users and Facts". Enterprise Apps Today. Retrieved December 17, 2024.
- ^ "Linux Statistics 2024". TrueList. Retrieved December 17, 2024.
- ^ Elad, Barry (February 3, 2024). "Linux Statistics 2024 By Market Share, Usage Data, Number Of Users and Facts". Enterprise Apps Today. Retrieved December 17, 2024.
- ^ "Linux Statistics 2024". TrueList. Retrieved December 17, 2024.
- ^ "Usage Statistics and Market Share of Linux for Websites, December 2024". w3techs.com. Archived from the original on October 1, 2021. Retrieved December 17, 2024.
- ^ "Mobile Operating System Market Share Worldwide". StatCounter Global Stats. Archived from the original on October 11, 2020. Retrieved May 30, 2023.
- ^ Egham (March 3, 2014). "Gartner Says Worldwide Tablet Sales Grew 68 Percent in 2013, With Android Capturing 62 Percent of the Market". Archived from the original on April 17, 2014. Retrieved June 13, 2014.
- ^ "Mobile/Tablet Operating System Market Share". Netmarketshare.com. Archived from the original on June 28, 2021. Retrieved October 14, 2021.
- ^ Strauss, Daryll. "Linux Helps Bring Titanic to Life". Archived from the original on January 12, 2012. Retrieved July 28, 2011.
- ^ Rowe, Robin. "Linux and Star Trek". Archived from the original on July 12, 2011. Retrieved July 28, 2011.
- ^ "Industry of Change: Linux Storms Hollywood". Archived from the original on April 11, 2009. Retrieved March 11, 2009.
- ^ "Tux with Shades, Linux in Hollywood". Archived from the original on January 11, 2023. Retrieved March 11, 2009.
- ^ "Weta Digital – Jobs". Archived from the original on December 30, 2010. Retrieved November 17, 2010.
- ^ "LinuxMovies.org – Advancing Linux Motion Picture Technology". Archived from the original on March 1, 2012. Retrieved March 16, 2012.
- ^ "LV: Minister: "Open standards improve efficiency and transparency"". Archived from the original on August 9, 2011. Retrieved February 21, 2009.
- ^ "Linux Spreads its Wings in India". Archived from the original on July 28, 2011. Retrieved February 21, 2009.
- ^ "Kerala shuts windows, schools to use only Linux". March 4, 2008. Archived from the original on May 15, 2011. Retrieved June 22, 2009.
- ^ "China's Microprocessor Dilemma". Microprocessor Report. Archived from the original on September 18, 2009. Retrieved April 15, 2009.
- ^ Krane, Jim (November 30, 2001). "Some countries are choosing Linux systems over Microsoft". Seattle Post-Intelligencer. Archived from the original on March 15, 2012. Retrieved February 21, 2009.
- ^ "North Korea's 'paranoid' computer operating system revealed". The Guardian. December 27, 2015. Archived from the original on December 31, 2015. Retrieved December 31, 2015.
- ^ "GNU General Public License, version 2". GNU Project. June 2, 1991. Archived from the original on December 7, 2013. Retrieved December 5, 2013.
- ^ Torvalds, Linus (January 26, 2006). "Re: GPL V3 and Linux ─ Dead Copyright Holders". Linux Kernel Mailing List. Archived from the original on July 9, 2014.
- ^ Torvalds, Linus (September 25, 2006). "Re: GPLv3 Position Statement". Linux Kernel Mailing List. Archived from the original on April 22, 2014.
- ^ Brett Smith (July 29, 2013). "Neutralizing Laws That Prohibit Free Software — But Not Forbidding DRM". A Quick Guide to GPLv3. GNU Project. Archived from the original on December 1, 2013. Retrieved December 5, 2013.
- ^ "Keeping an Eye on the Penguin". Linux-watch.com. February 7, 2006. Archived from the original on January 3, 2013. Retrieved November 9, 2010.
- ^ a b c Wheeler, David A (July 29, 2002). "More Than a Gigabuck: Estimating GNU/Linux's Size". Archived from the original on April 21, 2006. Retrieved May 11, 2006.
- ^ a b Johnston, Louis; Williamson, Samuel H. (2023). "What Was the U.S. GDP Then?". MeasuringWorth. Retrieved November 30, 2023. United States Gross Domestic Product deflator figures follow the MeasuringWorth series.
- ^ Amor, Juan José; et al. (June 17, 2007). "Measuring Etch: the size of Debian 4.0". Archived from the original on July 28, 2014. Retrieved September 16, 2007.
- ^ Stahe, Sylviu (June 19, 2015). "There Is a Linux Detergent Out There and It's Trademarked". Softpedia. Archived from the original on June 22, 2015. Retrieved August 15, 2024.
- ^ "Linux Timeline". Linux Journal. May 31, 2006. Archived from the original on February 3, 2013.
- ^ Neil McAllister (September 5, 2005). "Linus gets tough on Linux trademark". InfoWorld. Archived from the original on April 12, 2008. Retrieved February 24, 2008.
- ^ "Linux Mark Institute". Archived from the original on February 13, 2008. Retrieved February 24, 2008.
LMI has restructured its sublicensing program. Our new sublicense agreement is: Free – approved sublicense holders pay no fees; Perpetual – sublicense terminates only in breach of the agreement or when your organization ceases to use its mark; Worldwide – one sublicense covers your use of the mark anywhere in the world
- ^ Richard Stallman (April 28, 1996). "The FSF is no longer sponsoring Debian". tech-insider.org. Archived from the original on February 21, 2014. Retrieved February 8, 2014.
- ^ "TiVo ─ GNU/Linux Source Code". Archived from the original on May 19, 2007. Retrieved December 12, 2006.
- ^ "About Debian". debian.org. December 8, 2013. Archived from the original on January 23, 2014. Retrieved January 30, 2014.
- ^ Andrew D. Balsa; et al. (October 17, 2009). "The linux-kernel mailing list FAQ". vger.kernel.org. Archived from the original on October 1, 2012. Retrieved June 13, 2013.
...we have tried to use the word "Linux" or the expression "Linux kernel" to designate the kernel, and GNU/Linux to designate the entire body of GNU/GPL'ed OS software,... ...many people forget that the linux kernel mailing list is a forum for discussion of kernel-related matters, not GNU/Linux in general...
- ^ Côrte-Real, Pedro (May 31, 2011). "How much GNU is there in GNU/Linux?". Split Perspective. Archived from the original on February 7, 2014. Retrieved January 28, 2014. (self-published data)
External links
[edit]Linux
View on GrokipediaOverview
Definition and Core Components
Linux is a free and open-source, Unix-like operating system kernel originally authored by Linus Torvalds and first publicly released on September 17, 1991, as version 0.01.[9] Written from scratch in the C programming language, later including Rust,[10] it was designed as a minimalist clone of Unix to run on Intel 80386 processors, with subsequent versions expanding compatibility to a wide range of architectures.[11] The kernel is licensed under the GNU General Public License version 2 (GPLv2), enabling its modification and redistribution while requiring derivative works to adopt the same terms.[12] At its core, the Linux kernel operates as a monolithic yet modular system, handling low-level interactions between software and hardware through components such as device drivers, which interface with peripherals like storage, network cards, and input devices; a scheduler for process and thread management; and memory management subsystems for allocating and protecting virtual memory.[13] It also implements file systems (e.g., ext4, Btrfs), a networking stack supporting protocols like TCP/IP, and security mechanisms including access controls and system calls that mediate user-space requests.[14] These functions ensure efficient resource allocation, isolation of processes, and hardware abstraction, allowing applications to operate without direct hardware access.[15] While the kernel alone forms the foundation, complete Linux-based operating systems—termed distributions—incorporate it with user-space elements to provide a functional environment. Key components typically include system libraries like glibc for standard C functions, a shell (e.g., Bash) for command interpretation, utilities from the GNU project for file manipulation and system administration, an init system (e.g., systemd) for service management, and optional graphical interfaces via X11 or Wayland with desktop environments like GNOME or KDE. Bootloaders such as GRUB facilitate kernel loading, and package managers (e.g., apt, yum) handle software installation, distinguishing distributions by their selection, configuration, and update policies.[16] This modular assembly enables Linux's deployment across servers, desktops, embedded devices, and supercomputers, powering over 96% of the world's top 500 supercomputers as of November 2023.[14]Philosophical Foundations
The philosophical foundations of Linux derive primarily from the Unix philosophy, which emphasizes creating small, modular programs that perform a single task efficiently and can be combined through simple interfaces like text streams. This approach, developed in the 1970s at Bell Labs by pioneers such as Ken Thompson and Dennis Ritchie, prioritizes simplicity, reusability, and separation of concerns to enhance maintainability and extensibility.[17][18] Linux's kernel and surrounding ecosystem reflect these tenets by structuring components—such as device drivers, file systems, and process management—as interchangeable modules that interact via well-defined abstractions, enabling robust, scalable systems without monolithic complexity.[19] Linus Torvalds launched Linux in 1991 as a hobbyist endeavor to build a Unix-like kernel for personal computers, explicitly releasing its source code to invite community scrutiny and contributions, thereby establishing a collaborative, merit-based development paradigm. In his August 25, 1991, announcement on the comp.os.minix newsgroup, Torvalds stated: "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix," underscoring a pragmatic focus on technical improvement through open feedback rather than proprietary control or ideological purity.[20][21] This model evolved into a distributed process where patches are proposed, reviewed, and integrated based on empirical performance and correctness, fostering rapid iteration and resilience against single points of failure. Although Linux integrates with the GNU project's free software tools and adopted the GNU General Public License (GPL) for its kernel in 1992 to ensure source availability, its philosophy aligns more closely with open-source pragmatism than the free software movement's emphasis on user freedoms as moral imperatives. Richard Stallman, founder of the Free Software Foundation, critiques open source for prioritizing developer convenience and market appeal over ethical guarantees of freedom to use, study, modify, and distribute software without restrictions.[22] Torvalds' approach, by contrast, values functional excellence and voluntary cooperation, attributing Linux's widespread adoption to incentives like peer review and niche specialization rather than enforced ideology, as evidenced by its dominance in servers (over 96% market share as of 2023) and embedded systems. This causal emphasis on verifiable code quality over normative prescriptions has sustained Linux's evolution amid diverse applications, from supercomputers to mobile devices.History
Precursors and Unix Influence
The development of Unix originated from the Multics project, a collaborative effort initiated in 1964 by the Massachusetts Institute of Technology, Bell Labs, and General Electric to create a time-sharing operating system for the GE-645 mainframe.[23] Bell Labs withdrew from Multics in 1969 due to delays and escalating costs, prompting Ken Thompson to experiment with a simplified operating system on a PDP-7 minicomputer at Bell Labs.[24] This effort culminated in the first version of Unix in 1971, initially written in assembly language, with Dennis Ritchie contributing significantly to its design.[25] By 1973, Ritchie rewrote Unix in the C programming language, which he had developed, enabling greater portability and influencing subsequent operating system designs.[24] Unix's core principles—emphasizing simplicity, modularity, and hierarchical file systems—emerged from these early innovations, distinguishing it from more complex predecessors like Multics.[23] The system's evolution included the introduction of pipes for inter-process communication in Version 6 (1975) and its dissemination to universities via the Research Unix releases, fostering a culture of open collaboration despite AT&T's proprietary stance.[25] Standardization efforts, such as POSIX in 1988, codified Unix-like interfaces, ensuring compatibility across variants.[23] Linux's creation was directly shaped by Unix traditions, as Linus Torvalds, a University of Helsinki student, sought to build a free, Unix-compatible kernel for the Intel 80386 in 1991 after encountering limitations in Minix.[26] Minix, released in 1987 by Andrew S. Tanenbaum as an educational, microkernel-based Unix clone, provided Torvalds with source code access and a framework for experimentation, though Linux adopted a monolithic kernel architecture diverging from Minix's design.[27] Torvalds announced Linux on August 25, 1991, in the comp.os.minix Usenet group, explicitly stating his goal of a "free operating system (just a hobby, won't be big and professional like gnu)" compatible with Minix but improving upon its constraints, such as limited device support.[26] This Unix influence extended to Linux's adherence to POSIX standards, allowing it to run Unix software and inherit Unix's toolset, including shells and utilities.[23] The Tanenbaum-Torvalds debate in 1992 highlighted tensions over kernel design but underscored Minix's role as a bridge from Unix pedagogy to Linux's practical implementation.[28]Creation by Linus Torvalds
Linus Benedict Torvalds, a 21-year-old computer science student at the University of Helsinki in Finland, initiated the development of the Linux kernel in April 1991 as a hobby project.[29] Frustrated by the limitations of Minix—a compact, Unix-like teaching operating system developed by Andrew S. Tanenbaum—particularly its restrictive licensing and lack of features like virtual memory and a fully protected mode for the Intel 80386 processor, Torvalds aimed to create a free, Unix-compatible kernel optimized for his new PC.[30] [31] He began coding from scratch in GNU C and x86 assembly, implementing basic task switching and a minimal file system without relying on Minix's source code.[29] On August 25, 1991, Torvalds announced the project on the comp.os.minix Usenet newsgroup, stating: "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my target brain is a 386/486 AT clone."[32] [21] The post sought input from Minix users on desired improvements, emphasizing its non-commercial intent and compatibility with GNU tools.[32] The inaugural release, Linux kernel version 0.01, occurred on September 17, 1991, distributed as a tarball via FTP on the Finnish University and Research Network (FUNET) server at ftp.funet.fi.[33] [34] This primitive alpha version supported booting, basic multitasking with two tasks, a simple terminal driver, and ext—a rudimentary file system—but lacked a shell, networking, or self-hosting capability, requiring compilation under Minix or a similar environment.[29] [35] Torvalds released the source code under a custom license permitting free modification and distribution, later transitioning to the GNU General Public License in 1992 to foster collaborative development.[29]Early Development and Naming
Linux kernel version 0.01 comprised roughly 10,000 lines of C code, supported booting on 386-based systems with minimal hardware such as AT-386 hard disks, but lacked virtual memory and multiuser capabilities; while binaries for utilities like the Bash shell were provided, their execution was limited due to filesystem issues.[36] Early adopters, primarily from the Minix community, began contributing patches via email, fostering rapid iterative improvements.[36] Torvalds originally named the project "Freax," a blend of "free," "freak," and "X" for Unix-like, but Ari Lemmke, the administrator of the FUNET server who hosted the files, independently renamed the upload directory to "linux" by combining Torvalds' first name with "Unix."[36] Torvalds adopted this suggestion, finding it fitting, and the name persisted despite his initial reservations about self-naming.[36] This moniker specifically denoted the kernel, distinguishing it from full operating systems formed by combining it with userland tools, though debates over terminology like "GNU/Linux" emerged later from advocates of the GNU Project emphasizing their components' role.[36]Commercial Adoption and Growth
In the mid-1990s, commercial interest in Linux emerged as vendors began packaging it for enterprise use, with Red Hat Software (later Red Hat, Inc.) releasing its first commercial distribution in 1994 and achieving early success through support services.[37] By 1999, Red Hat's initial public offering raised over $80 million, marking a pivotal validation of Linux's commercial potential and attracting investment from hardware giants like IBM, which committed resources to Linux development.[38] This period saw initial adoption in server environments, driven by cost advantages over proprietary Unix systems and growing stability from community contributions. Enterprise adoption accelerated in the 2000s, with Red Hat Enterprise Linux (RHEL) launching in 2003 and becoming a staple for mission-critical deployments; by 2012, Red Hat achieved annual revenues exceeding $1 billion, primarily from RHEL subscriptions and support, establishing it as the first major open-source company to reach that milestone.[39] Approximately 90% of Fortune 500 companies adopted RHEL for servers by the early 2020s, reflecting its reliability in data centers and certification ecosystem.[40] Linux's server market grew steadily, powering over 96% of the world's top supercomputers by 2017—a dominance that has persisted, with all 500 systems on the TOP500 list running Linux variants as of November 2017 due to its scalability, customizability, and performance under high-performance computing loads.[41] The 2008 launch of Android, built on a modified Linux kernel, propelled commercial growth into consumer mobile devices, enabling Google and partners to deploy it across billions of smartphones and tablets; this embedded Linux variant contributed upstream kernel improvements while capturing over 70% of the global mobile OS market by the mid-2010s, indirectly boosting Linux's overall ecosystem through hardware testing and driver development.[42] In cloud computing, Linux underpins major providers like AWS and Google Cloud, with server operating system volumes expanding from 26,389 thousand units in 2024 to projected 66,853 thousand by 2032, fueled by virtualization and container technologies like Docker.[43] Overall, the Linux operating system market is valued at approximately $22.5 billion in 2025, with forecasts reaching $48.4 billion by 2034, driven by enterprise demand and open-source efficiencies rather than desktop consumer uptake.[44]Recent Developments (2010s–2025)
The Linux kernel underwent steady evolution during the 2010s and 2020s, with the 3.x series released starting July 21, 2011, introducing features like improved scalability for large systems and enhanced support for virtualization technologies such as KVM.[45] Subsequent milestones included the 4.x series in April 2015, which added better integration for persistent memory and real-time scheduling enhancements, and the 5.x series in March 2019, emphasizing security mitigations for vulnerabilities like Spectre and Meltdown.[45] By 2025, the kernel reached version 6.12 in October,[46] incorporating Rust language support for drivers—which concluded its experimental phase and became a permanent part of the kernel, as announced by Rust-for-Linux lead developer Miguel Ojeda in December 2025 following the Linux Kernel Maintainers Summit with the statement "The experiment is done, i.e. Rust is here to stay"[47]—to reduce memory safety issues and expanded hardware compatibility for ARM-based architectures prevalent in cloud and mobile devices.[46] These biannual major releases, supplemented by frequent stable updates every 9-10 weeks, maintained Linux's adaptability to emerging hardware without compromising stability.[46] Linux's server market share grew to dominate cloud infrastructure, holding approximately 62.7% of the global server operating system market by the mid-2020s, powering platforms like AWS, Google Cloud, and Azure through distributions such as Ubuntu Server and Red Hat Enterprise Linux. The introduction of containerization technologies accelerated this trend: Docker, leveraging Linux kernel features like cgroups and namespaces, launched in March 2013 to enable efficient application packaging and deployment.[48] Kubernetes, originally developed by Google and released in June 2014, emerged as the de facto orchestrator for managing containerized workloads at scale, with adoption surging in enterprise environments by the late 2010s.[49] These tools, inherently tied to Linux primitives, facilitated microservices architectures and reduced overhead compared to traditional virtual machines, contributing to Linux's role in over 90% of public cloud instances.[50] On desktops, Linux usage remained niche but showed measurable growth, rising from under 2% global market share in 2010 to over 4% worldwide by 2024, with the United States reaching 5.38% in June 2025 per web analytics data.[51] This uptick correlated with improvements in hardware compatibility, such as better NVIDIA driver support via open-source efforts, and the popularity of distributions like Ubuntu and Fedora, which released long-term support versions including Ubuntu 24.04 LTS in April 2024.[52] Chrome OS, built on a Linux foundation, further bolstered embedded Linux adoption in education and lightweight computing, capturing around 4% of the North American desktop market by September 2025.[53] Mobile dominance persisted via Android, which utilized a modified Linux kernel and activated billions of devices annually, though customizations diverged from upstream development.[6] Major distributions advanced incrementally: Debian emphasized stability with releases like version 10 (Buster) in July 2019 and 12 (Bookworm) in June 2023; Fedora served as a upstream for Red Hat Enterprise Linux, incorporating cutting-edge features in annual releases such as Fedora 40 in 2025 with KDE Plasma enhancements; Ubuntu maintained biannual cycles, prioritizing user-friendly interfaces and cloud integration.[54] Corporate milestones included IBM's $34 billion acquisition of Red Hat in July 2019, which expanded enterprise support but raised concerns among open-source advocates about potential shifts in governance priorities.[55] Overall, Linux's growth reflected its technical merits in efficiency, customization, software management, security, etc., although desktop penetration lagged due to ecosystem lock-in from proprietary software.[56]Technical Architecture
Kernel Structure and Evolution
The Linux kernel utilizes a monolithic architecture, in which essential operating system components such as process management, memory management, virtual file systems, networking stack, and device drivers operate within a privileged kernel mode address space, enabling direct hardware access and minimizing overhead from context switches between user and kernel spaces.[57][58][59] This design prioritizes performance by avoiding the inter-process communication latencies inherent in microkernel architectures, where services run as separate user-space processes.[60][61] To mitigate the drawbacks of a fully static monolithic kernel—such as large memory footprint and prolonged boot times—the Linux kernel incorporates modularity via loadable kernel modules (LKMs). These allow peripheral functionalities, particularly drivers for specific hardware, to be compiled separately and loaded dynamically at runtime using commands likemodprobe, or unloaded when idle, without necessitating a kernel rebuild or reboot.[58] This approach emerged as a pragmatic evolution, enabling customization for diverse hardware while preserving the efficiency of the core kernel image, which typically comprises schedulers, interrupt handlers, and system call interfaces.[60][62]
The kernel's structure is layered hierarchically: at the core lies the scheduler and low-level hardware abstraction; above it, subsystems for memory (e.g., slab allocator), processes (e.g., fork/exec handling), and I/O; with modules interfacing via standardized APIs like the device model (sysfs/devfs).[62] Security boundaries are enforced through capabilities and namespaces, but the monolithic execution model implies that a fault in one module can potentially crash the entire system, underscoring the reliance on rigorous code review in development.[63]
Evolutionarily, the kernel originated as a minimal monolithic implementation in version 0.01, released on September 17, 1991, by Linus Torvalds, targeting Intel 80386 processors with basic task switching and terminal I/O but lacking features like virtual memory.[34] By version 1.0.0 in March 1994, it achieved stability with over 170,000 lines of code, incorporating modular drivers as an early extension to the base.[34]
Significant architectural refinements occurred in the 2.x series: version 2.0 (June 1996) introduced symmetric multiprocessing (SMP) support, expanding the monolithic core to handle multi-processor scalability; while 2.6 (December 2003) enhanced modularity with a preemptible kernel, CFQ I/O scheduler, and improved hotplug capabilities for modules, alongside better integration for embedded systems via initramfs.[45] These changes addressed performance bottlenecks in high-load scenarios, such as server environments, by refining inter-subsystem interactions without shifting to a hybrid or microkernel paradigm.
Post-2.6 developments maintained this foundation, with the 3.0 release (July 2011) marking a versioning reset rather than overhaul, followed by incremental enhancements like address space layout randomization (ASLR) in 3.x for security and eBPF in 3.18 (2014) for programmable kernel hooks, extending modularity to user-defined extensions without kernel recompilation.[45] By 2025, the kernel reached series 6.x, incorporating Rust-based components experimentally for driver safety, yet preserving the monolithic-modular balance amid growing complexity from hardware diversity and real-time requirements.[64] This experimental integration has generated controversy within the Linux community, including debates over ideological compatibility, maintainer resignations, and the need for dedicated contribution policies, as reported in kernel development discussions in 2024-2025.[65][66][67] This trajectory reflects a commitment to empirical optimization, driven by community patches—averaging 10,000–15,000 per major release—prioritizing verifiable stability over theoretical purity.[64]
User Space Integration
In Linux, user space comprises the portion of the system where applications, libraries, and utilities execute, segregated from kernel space to enforce memory protection and privilege separation, with the kernel operating in privileged mode while user processes run in unprivileged mode.[68] This division prevents user programs from directly accessing hardware or kernel data structures, mitigating risks of crashes or exploits.[69] Integration occurs primarily through defined interfaces that allow controlled communication, ensuring the kernel validates requests before execution.[70] The core mechanism for user space-kernel interaction is system calls, which serve as the kernel's API; user applications invoke these via software interrupts or specific instructions (e.g.,syscall on x86-64), transitioning the CPU from user mode to kernel mode, where the kernel dispatches the request and returns results or errors.[68] [71] As of Linux kernel 6.12 (released December 2024), over 300 system calls exist, covering operations like file I/O (read, write), process management (fork, execve), and networking (socket).[70] The GNU C Library (glibc), the standard implementation for most Linux distributions, wraps these system calls in higher-level functions compliant with POSIX and ISO C standards, adding buffering, error handling, and portability layers without direct kernel dependencies for non-syscall routines.[72] [73]
Additional interfaces include virtual filesystems such as procfs (mounted at /proc), which exposes runtime process and kernel statistics (e.g., /proc/cpuinfo for CPU details, /proc/meminfo for memory usage), and sysfs (mounted at /sys), which provides hierarchical access to device attributes, driver parameters, and hardware topology for user space configuration and monitoring.[74] [75] These pseudo-filesystems allow read/write operations via standard file APIs, enabling tools like top or lsmod to query kernel state without custom syscalls.[76] User space daemons—background processes like sshd for SSH or cron for scheduling—operate entirely in this domain, initiating syscalls for resource access while managed by init systems such as systemd, which handles service lifecycle, logging, and dependencies since its adoption in major distributions around 2015.[77] [78]
Distributions integrate user space via packages from projects like GNU (coreutils, bash) and systemd, ensuring compatibility with the kernel's ABI, though glibc updates can introduce breaks if not aligned with kernel versions, as seen in historical compatibility debates.[72] This layered approach maintains modularity, with user space evolutions (e.g., musl libc alternatives for embedded systems) tested independently of kernel changes.[79]
Hardware Support and Drivers
The Linux kernel provides hardware support primarily through its device driver subsystem, which abstracts hardware interactions via a unified driver model formalized in kernel version 2.6 and refined in subsequent releases.[80] Device drivers are implemented as kernel code that interfaces with hardware peripherals, handling tasks such as resource allocation, interrupt management, and data transfer, while adhering to standardized APIs for integration with the kernel's subsystems like block devices, networking, and input/output.[81] This model supports both character devices (e.g., serial ports) and block devices (e.g., hard drives), enabling the kernel to manage diverse hardware classes including storage controllers, USB hosts, and graphics adapters.[60] Most drivers operate as loadable kernel modules (LKMs), which can be dynamically inserted or removed at runtime using tools likemodprobe, reducing kernel size and improving boot times by loading only necessary components for detected hardware.[82] Built-in drivers, compiled directly into the kernel image, provide essential functionality for core boot processes, such as initial CPU and memory initialization, while modules handle optional peripherals probed during system startup via mechanisms like PCI enumeration or Device Tree bindings for embedded systems. This modular approach facilitates broad compatibility, with the mainline kernel incorporating thousands of upstreamed drivers contributed by vendors and the community, covering Ethernet controllers, SCSI host adapters, and framebuffer devices.[83]
Linux supports a multitude of processor architectures, including x86 (both 32-bit and 64-bit variants), ARM (32-bit and 64-bit AArch64), PowerPC, and RISC-V, with ongoing upstreaming efforts ensuring compatibility for emerging platforms like RISC-V since its initial integration in kernel 4.15 in 2017.[84] Recent releases, such as kernel 6.14 from March 2025, have expanded support for Intel and AMD processors with optimizations for power management and performance on modern cores.[85] Embedded and mobile devices, particularly ARM-based systems in smartphones and IoT hardware, benefit from extensive driver coverage for components like Wi-Fi chips and sensors, though full functionality often requires vendor-specific firmware blobs loaded alongside open-source drivers.[86]
Open-source drivers form the core of mainline support, emphasizing reverse-engineering and community development for hardware lacking vendor cooperation, but they frequently underperform proprietary alternatives in specialized workloads.[87] Proprietary drivers, distributed as binary blobs by vendors like NVIDIA, deliver optimized features such as hardware-accelerated video decoding but complicate kernel upgrades due to ABI incompatibilities, often requiring manual intervention or distribution-specific packaging.[88] For NVIDIA GPUs, the proprietary kernel modules achieve near-parity with open-source counterparts in recent series like 560 (released May 2024), yet open-source Nouveau drivers lag in gaming performance and reclocking capabilities, highlighting tensions between open-source principles and proprietary optimizations.[89][90] Efforts to upstream vendor code, as seen with NVIDIA's partial open-sourcing of kernel modules, aim to mitigate these issues, but full feature equivalence remains elusive without complete source disclosure.[91]
Security Model and Features
Linux's security model benefits from its open-source nature, enabling extensive code review by a global community of developers, which facilitates the rapid identification and remediation of vulnerabilities. The strict enforcement of user permissions, lower prevalence of targeted malware due to smaller desktop market share, and diversity of distributions—leading to varied configurations—further contribute to its security posture in practice, though these factors do not guarantee superiority in all contexts.[92][93] Linux employs a discretionary access control (DAC) model inherited from Unix, where file and resource owners specify permissions for users, groups, and others, typically using read, write, and execute bits.[94] This allows processes to run under specific user IDs, enforcing isolation in multi-user environments, but relies on user discretion, which can lead to misconfigurations granting excessive access. Root privileges, via the superuser account, bypass DAC checks, necessitating additional mechanisms to mitigate risks from privilege escalation.[95] The Linux Security Modules (LSM) framework, introduced in kernel version 2.6 in 2003, extends the model by providing hooks for mandatory access control (MAC) and other policies without altering core kernel code.[96] LSM enables stacking of modules for layered security, supporting checks on syscalls, file operations, and network access.[97] Prominent implementations include SELinux, developed by the NSA and integrated into the kernel since 2003, which uses type enforcement and role-based access control with labels on subjects and objects for fine-grained policy definition.[98] AppArmor, originating from Novell in 2009 and now in Ubuntu by default, applies path-based confinement profiles to restrict applications to predefined file paths and capabilities, prioritizing ease of administration over SELinux's complexity.[99] Privilege management is refined through capabilities, dividing root powers into 38 discrete units (e.g., CAP_SYS_ADMIN for admin tasks, CAP_NET_BIND_SERVICE for port binding below 1024), allowing processes to drop unnecessary ones at runtime to enforce least privilege.[100] Seccomp (secure computing mode), available since kernel 2.6.12 in 2005, filters system calls via Berkeley Packet Filter rules, restricting processes to a whitelist of syscalls as a defense-in-depth measure, particularly in containers.[101] User and PID namespaces, merged in kernel 3.8 (2012) and earlier versions respectively, provide isolation by mapping container UIDs to non-privileged host UIDs, reducing breakout risks in virtualized environments.[102] Kernel integrity features like Integrity Measurement Architecture (IMA), added in 2.6.30 (2009), compute and attest file hashes during access to detect tampering, while Extended Verification Module (EVM) protects metadata integrity against offline attacks.[103] Self-protection mechanisms, hardened since kernel 4.0 (2015), include lock validation and slab allocators resistant to exploits like use-after-free, addressing kernel code vulnerabilities directly.[104] These features collectively enable robust confinement, though effectiveness depends on distribution-specific enablement and policy tuning, as default configurations often prioritize usability over maximal restriction.[105]User Interfaces and Environments
Command-Line Interfaces
The command-line interface (CLI) in Linux consists of a shell program that interprets user commands, executes programs, and manages input/output, serving as the primary means of interaction even in systems with graphical environments. Derived from Unix traditions, Linux shells enable efficient system administration, scripting, and automation through text-based commands, pipes for data streaming between processes, and environment variables for configuration. This interface prioritizes programmability and precision over visual metaphors, allowing users to perform complex operations like file manipulation (ls, cp, mv), process control (ps, kill), and text processing (grep, awk, sed) with minimal resource overhead.[106][107]
The foundational Bourne shell (sh), introduced in Unix Version 7 in 1979, established the POSIX-standard syntax adopted by Linux, including sequential command execution, variables, and control structures for scripting. GNU Bash, the Bourne-Again SHell, extended this model when Brian Fox developed it in 1989 for the GNU Project, adding features such as command-line editing, unlimited command history via the history command, job control for background processes (&, fg, bg), aliases for shortcut definitions, and brace expansion for generating file lists (e.g., {a..z}). Bash became the default shell in most Linux distributions by the early 1990s due to its compatibility with POSIX sh while incorporating enhancements from the C shell (csh), like pathname expansion and tilde substitution for home directories. As of November 2023, Bash version 5.2 remains under active development, supporting arrays, associative arrays, and coprocesses for advanced scripting.[108][109][106]
Other shells cater to specific needs: the Debian Almquist Shell (Dash), a lightweight Bourne-compatible implementation, is used in some distributions for faster script execution during boot (e.g., in Ubuntu's /bin/sh symlink since 2006 for performance gains of up to 5x in init scripts); Zsh, released in 1990, extends Bash with improved autocompletion, spell-checking for commands, and themeable prompts via plugins like Oh My Zsh; Fish emphasizes user-friendliness with syntax highlighting, autosuggestions based on history, and web-based configuration, though it deviates from POSIX for scripting portability. Shell selection is configured via /etc/passwd or the chsh command, with Bash holding dominance—over 90% of Linux users default to it per surveys—due to its ubiquity in documentation and tools. Terminal emulators (e.g., xterm, GNOME Terminal) provide the graphical or virtual console for shell invocation but do not interpret commands themselves, distinguishing the hardware-agnostic CLI layer.[110][111][112]
Graphical Desktop Environments
Graphical desktop environments in Linux consist of integrated software components that deliver a complete graphical user interface, including window management, desktop panels, file browsers, and configuration tools, typically built upon display servers such as the X Window System or the Wayland protocol.[113] These environments emerged in the early 1990s alongside Linux's adoption of X11, initially using rudimentary window managers like TWM before evolving into cohesive suites by the mid-1990s.[114] Unlike monolithic proprietary systems, Linux desktop environments emphasize modularity, allowing users to mix components from different projects, which fosters customization but can introduce compatibility challenges.[115] GNOME, developed by the GNOME Project since 1997, employs the GTK toolkit and prioritizes a minimalist workflow with gesture-based navigation and extensibility via shell extensions; it serves as the default environment in distributions like Ubuntu and Fedora Workstation as of 2025.[116] KDE Plasma, originating from the KDE project in 1996 and rearchitected as Plasma in 2009, leverages the Qt framework for a highly configurable interface supporting plasmoids, virtual desktops, and advanced effects, making it popular for users seeking feature depth without performance overhead on modern hardware.[115] XFCE, initiated in 1996, focuses on lightweight resource usage through its modular design with the Thunar file manager and Xfwm compositor, appealing to deployments on older systems or embedded devices.[116] Other notable environments include LXQt, a Qt-based successor to LXDE emphasizing low memory footprint for legacy hardware, and MATE, a fork of GNOME 2 from 2011 that retains a traditional panel-based layout using GTK.[115] Cinnamon, developed by Linux Mint since 2012, integrates Nemo file manager and applets for a traditional desktop experience similar to GNOME 2, while incorporating modern frameworks from GNOME 3, with added customization.[117][118] As of 2025, many environments support Wayland for improved isolation, reduced latency, and security over X11, though X11 compatibility layers persist for legacy applications.[119] Usage varies by distribution, with GNOME and KDE Plasma comprising the majority in enterprise and consumer spins, driven by their balance of usability and development backing from organizations like Red Hat and Blue Systems.[120] For users preferring minimalism, standalone window managers like i3 enable tiling layouts without full desktop overhead, often paired with tools like polybar for panels, highlighting Linux's flexibility beyond traditional environments.[121] This diversity stems from open-source principles, enabling rapid iteration but requiring users to evaluate trade-offs in stability, resource demands, and hardware acceleration support.[122]Development and Community
Open-Source Governance
The Linux kernel operates under a decentralized yet hierarchical governance model centered on Linus Torvalds as the primary maintainer, who exercises final authority over merges into the mainline repository, a structure often described as a benevolent dictatorship.[123] Subsystem maintainers—responsible for specific areas like networking, file systems, or drivers—review and integrate contributions from developers, accumulating changes in their respective trees before submitting pull requests to Torvalds during biannual merge windows, typically spanning one to two weeks per release cycle.[124] This process relies on public scrutiny via mailing lists, patch submission protocols, and the kernel's Git repository, ensuring that code quality and stability are prioritized through empirical testing and peer review rather than formal voting mechanisms.[125] As of 2024, the kernel sees approximately 11,000 lines of code added and 5,800 removed daily, reflecting the scale of this community-driven maintenance.[126] Torvalds' role emphasizes technical merit and long-term stability, with decisions grounded in his direct evaluation of patches rather than consensus alone; he has stated that aging maintainers, including himself, provide institutional knowledge that benefits the project despite calls for broader delegation.[127] The Linux Foundation provides neutral infrastructure, such as hosting and events, but exerts no direct control over kernel decisions, funding less than 3% of its budget explicitly toward kernel work amid criticisms that resources are diverted to other initiatives.[128] [129] In September 2018, the project adopted the Contributor Covenant Code of Conduct, replacing the prior "Code of Conflict," which prompted Torvalds to temporarily step back from maintenance amid accusations of abrasive communication; this change drew opposition from developers who argued it shifted focus from code quality to subjective behavioral standards, potentially enabling non-technical vetoes.[130] [131] Enforcement has since involved the Linux Foundation's Technical Advisory Board, as in November 2024 when it restricted bcachefs maintainer Kent Overstreet's participation for alleged violations, halting subsystem merges despite technical approvals and raising concerns among contributors about meritocratic erosion.[132] [133] Torvalds resumed active oversight post-2018, maintaining that governance prioritizes functional outcomes over enforced civility norms.[134]Key Contributors and Organizations
Torvalds has remained the primary maintainer, overseeing merges into the mainline kernel through the Linux Kernel Mailing List (LKML), with authority to reject patches that fail to meet stability or coding standards.[36] Kernel development involves thousands of contributors, with over 15,000 individuals having submitted patches since inception; notable early figures include Alan Cox, who maintained the 2.x stable branches, and Theodore Ts'o, maintainer of the ext4 filesystem.[135] In recent cycles, such as kernel 6.15 released in May 2025, top individual developers include Wayne Lin, Ian Rogers, and Miri Korenblit. Major corporate contributors include those from Intel, AMD, IBM, and Google, contributing enhancements in areas like networking and virtualization.[136] Contributions are tracked via git commits, emphasizing verifiable code reviews and testing before integration. The Linux Foundation, established in 2000 as a merger of the Open Source Development Labs and Free Standards Group, serves as a neutral steward for kernel development, hosting infrastructure like LKML archives and facilitating corporate participation without direct code control.[137] Corporate entities dominate recent contributions: Intel led with 8,115 changes (9.8%) in the 6.1 cycle for hardware enablement, followed by Meta (6,946 changes, 8.4%) for data center optimizations and Google (6,649 changes, 8.0%) for Android-specific drivers.[138] Red Hat, a major distributor via Fedora and RHEL, employs over 160 kernel developers and has consistently ranked among top contributors, focusing on enterprise stability and virtualization since the early 2000s.[139] Other firms like Oracle, which topped lines changed in 6.1 for storage and cloud features, and SUSE underscore the shift toward industry-driven upstreaming, where companies submit patches to avoid vendor lock-in.[140] This model ensures broad compatibility but raises concerns over potential prioritization of proprietary hardware support.[141]Programming Tools and Practices
The GNU Compiler Collection (GCC), initiated by Richard Stallman as part of the GNU Project, released its first beta version on March 22, 1987, and serves as the primary compiler for the Linux kernel and most open-source software built on Linux, supporting languages such as C, C++, and Fortran.[142][143] GCC enables cross-compilation across architectures, ensuring the kernel's portability, with the Linux kernel historically compiled using GCC versions aligned with its requirements, such as GCC 4.9 or later for recent stable releases.[142] Debugging relies heavily on the GNU Debugger (GDB), developed as a core GNU tool since 1986, which allows inspection of program execution, memory, and variables in languages like C and C++ during runtime or post-crash analysis.[144] GDB integrates seamlessly with GCC-generated executables compiled with the-g flag, supporting features like breakpoints, stepping through code, and backtraces, making it indispensable for kernel module debugging and user-space application troubleshooting on Linux systems.[145]
Version control in Linux development centers on Git, created by Linus Torvalds with its initial commit on April 7, 2005, in response to licensing changes in the BitKeeper system previously used for kernel management.[146] Git's distributed model facilitates branching, merging, and patch tracking, underpinning the Linux kernel's repository hosted at kernel.org, where contributors submit changes via pull requests or email patches.[147]
Build systems commonly employed include GNU Make, dating to 1976 and integral to Linux since its inception for automating compilation via Makefiles, alongside modern alternatives like CMake for cross-platform projects and Meson for faster dependency handling in user-space software.[148] These tools manage dependencies, compilation flags (e.g., -O2 for optimization), and linking against libraries in /usr/lib, with package managers like those in distributions providing pre-built toolchains to streamline workflows.[149]
Linux kernel coding practices enforce a strict style guide emphasizing readability and maintainability, mandating 8-space tab indents, 80-character line limits, and brace placement on new lines for functions and control structures, as documented in the kernel source.[150] This style, authored by Torvalds, prioritizes diff readability for patch reviews and avoids subjective preferences, with tools like checkpatch.pl scripts enforcing compliance during submission.[151]
Development workflows involve submitting patches to mailing lists for peer review, followed by maintainer integration, fostering incremental changes over large rewrites to minimize bugs in the kernel's 30+ million lines of C code.[150] User-space practices extend this to modular design, leveraging system calls for kernel interaction, and testing via tools like Valgrind for memory leaks or kernel fuzzers for robustness, reflecting a culture of empirical validation through code inspection and runtime verification.[152]
Distributions and Ecosystem
Major Linux Distributions
Ubuntu, developed by Canonical Ltd. since its first release on October 20, 2004, is derived from Debian and emphasizes user-friendliness, a regular release cycle with standard versions every six months and long-term support (LTS) versions every two years with five years of free security updates, and integration with desktop environments like GNOME. It commands the largest market share among Linux distributions at approximately 33.9% as of 2025, driven by its adoption in desktops, servers, and cloud environments due to Canonical's commercial backing and focus on enterprise compatibility.[6][153][154] Debian GNU/Linux, founded on August 16, 1993, by Ian Murdock, prioritizes free software principles under the Debian Free Software Guidelines and offers exceptional stability through its rigorous package testing process, with releases occurring roughly every two years—the latest stable version, Debian 13 "Trixie," initially released on August 9, 2025. It holds about 16% market share and underpins many derivatives, including Ubuntu, due to its vast repository of over 59,000 packages managed by the APT system and a volunteer-driven development model.[155][6][156][157] Fedora, initiated in November 2003 by the Fedora Project under Red Hat sponsorship as a successor to Red Hat Linux, adopts a six-month release cycle to deliver innovative features like early Wayland adoption and serves as an upstream development platform for Red Hat Enterprise Linux (RHEL), with Fedora 42 released in April 2025 featuring enhanced container tools and PipeWire audio improvements. It targets developers and enthusiasts, boasting strong hardware support and spins for various desktop environments, though its shorter support lifecycle (13 months per release) contrasts with enterprise needs.[158][159] Arch Linux, first released in March 2002 by Judd Vint, employs a rolling-release model via the Pacman package manager and the Arch User Repository (AUR), enabling continuous updates without versioned releases, which appeals to advanced users valuing minimalism, the "KISS" (Keep It Simple, Stupid) philosophy, and custom configurations documented in the comprehensive Arch Wiki. Its popularity stems from proximity to upstream software sources and flexibility, ranking highly in gaming surveys like Steam's with over 9% of Linux desktop users, though installation requires manual partitioning and bootloader setup, contributing to a steeper learning curve.[160][161][162] Other notable distributions include Linux Mint, an Ubuntu derivative launched in 2006 that modifies the Cinnamon desktop for Windows-like familiarity and holds strong desktop appeal with conservative updates; Gentoo, founded on March 31, 2002, and maintained by the Gentoo Foundation, which uses a rolling release model with source-based compilation via the Portage package manager for extensive customization; Slackware, created by Patrick Volkerding in 1993 and maintained by him and the Slackware team, emphasizing simplicity, traditional Unix-like design, and stability through fixed releases without a strict schedule (latest stable version 15.0 released in February 2022); and openSUSE, originating from SUSE in 2005 and maintained by the openSUSE Project with SUSE sponsorship, offering both stable fixed Leap releases and rolling Tumbleweed, along with versatile configuration tools like YaST for enterprise and developer use (which is being deprecated in favor of more modern and maintainable tools). In enterprise contexts, Red Hat Enterprise Linux (RHEL), commercially supported since 2003 with 10-year lifecycles, dominates alongside Ubuntu for servers, powering much of cloud infrastructure despite proprietary elements in support contracts.[163][164][165][166][167][168][169]| Distribution | Base | Maintainer | Release Model | Key Strength |
|---|---|---|---|---|
| Ubuntu | Debian | Canonical | Fixed (every 6 months; LTS every 2 years) | Ease of use, broad adoption[170] |
| Debian | Independent | Debian Project (volunteers) | Fixed (every ~2 years) | Stability, free software purity[155] |
| Fedora | Independent | Fedora Project/Red Hat | Fixed (every 6 months) | Innovation, upstream for RHEL[158] |
| Arch Linux | Independent | Arch community | Rolling | Customization, minimalism[160] |
| Gentoo | Independent | Gentoo Foundation | Rolling, source-based | Customization via Portage[166] |
| openSUSE | Independent | openSUSE Project/SUSE | Dual: Fixed Leap and Rolling Tumbleweed | Versatility with YaST tools[168] |
| Slackware | Independent | Patrick Volkerding | Fixed, no fixed schedule | Simplicity and stability[167] |
Package Management Systems
Package management systems in Linux automate the installation, upgrading, removal, and configuration of software packages, handling dependencies, conflict resolution, and integration with repositories to ensure system consistency and security. Unlike operating systems such as Windows, where users commonly download software installers directly from the web, package managers and repositories offer an alternative design. This design choice was influenced by a desire for enhanced security and other benefits.[171][172] These tools emerged from early Unix practices of tarball extraction but evolved into sophisticated frameworks by the mid-1990s, driven by the need for reproducible, verifiable distributions amid growing software complexity. Binary package managers predominate, bundling compiled executables with metadata, while source-based variants compile on the target system for customization; both verify digital signatures to mitigate supply-chain risks, as evidenced by widespread adoption of GPG-signed repositories since the early 2000s.[173][174][175][176] Debian-based distributions utilize the DEB format, with dpkg providing low-level package handling since Debian's founding in August 1993, and APT (Advanced Package Tool) layering higher-level functionality introduced in test builds in 1998. APT excels in recursive dependency resolution, supporting commands likeapt install for seamless repository fetches and updates across architectures, with over 60,000 packages in Debian's main repository as of 2023. Version 3.0, released April 2025, revamped output formatting for clarity during operations like upgrades.[177][178][179]
Red Hat Package Manager (RPM) formats underpin Fedora, CentOS, and RHEL, with YUM serving as the frontend until succeeded by DNF in Fedora 22 (May 2015) for superior solver algorithms and plugin extensibility. DNF manages modular streams for parallel versions (e.g., Python 3.9 alongside 3.11) and integrates repository metadata caching, reducing update times; in RHEL 9, it supports atomic transactions via dnf groupinstall. RPM databases track installed files precisely, enabling queries like rpm -qa for auditing.[180][181]
| Package Manager | Primary Distributions | Format | Key Features |
|---|---|---|---|
| APT | Debian, Ubuntu | DEB | High-level dependency solver, pinning for version control, vast binary repositories[182][183] |
| DNF/YUM | Fedora, RHEL | RPM | Modular streams, history tracking, efficient metadata handling[182][184] |
| Zypper | openSUSE, SUSE Linux Enterprise | RPM | Command-line frontend using libzypp for dependency resolution via SAT solver, repository management, and pattern-based installations[182][185] |
| Pacman | Arch Linux | PKGBUILD | Simple syntax, rolling-release syncs via pacman -Syu, AUR integration hooks[186][182] |
| Portage | Gentoo | ebuild | Source compilation with USE flags for optimization, overlay support for custom packages[187][182] |
| Nix | NixOS, multi-distro | .nix | Declarative configs, reproducible builds via hashing, atomic rollbacks and multi-version isolation[188][189] |
pacman -S for binary installs from official repos or user-built PKGBUILDs via the Arch User Repository (AUR), which hosts over 70,000 community packages as of 2024. Gentoo's Portage, inspired by FreeBSD Ports, employs ebuild scripts for on-demand compilation, allowing flags like -optimize to tailor binaries to hardware, though builds can span hours for large suites. Nix diverges with functional principles, storing packages in immutable /nix/store paths hashed by inputs, enabling nix-env -i for user profiles without root privileges and nix-shell for ephemeral environments, mitigating "dependency hell" through non-interfering installations.[186][187][188]
These systems foster ecosystem diversity but demand distro-specific knowledge, with tools like Flatpak or Snap emerging as cross-distro alternatives for universal binaries, though they introduce overhead from containerization. Empirical benchmarks show APT and DNF resolving complex graphs in seconds for typical workloads, underscoring efficiency gains over manual tarball management.[183][182]