Jump to content

Linux

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Alexs letterbox (talk | contribs) at 00:18, 12 January 2005 (very minor edit of spacing). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

This article is about Linux-based operating systems, GNU/Linux, and related topics. See Linux kernel for the kernel itself. See Linux (washing powder) for the Swiss brand of washing powder.
File:TuxWB.jpg
Tux, a plump penguin, is the official Linux mascot

Linux is a computer operating system and its kernel. It is among the most famous examples of free software and of open-source development.

The term Linux refers to the Linux kernel, but is commonly used to describe entire Unix-like operating systems (also known as GNU/Linux) that are based on the Linux kernel, the libraries and the tools from the GNU project. Linux distributions often bundle large quantities of software with the core system known as "packages".

The kernel was originally developed for Intel 386 microprocessors but now supports a variety of computer architectures. It is deployed in applications ranging from personal computers to supercomputers and embedded systems such as mobile phones and personal video recorders.

Initially developed and largely used by individual enthusiasts, Linux has since gained the support of IT industry mammoths such as IBM and Hewlett-Packard, and is overtaking many proprietary versions of Unix. Proponents and many analysts attribute this success to its vendor independence, low cost of implementation, tight security, and sturdy reliability.

History

Linus Torvalds, creator of Linux

The Linux kernel was initially written as a hobby by Finnish university student Linus Torvalds while attending the University of Helsinki. Linus originally used Minix on his computer, a simplified kernel written by Andrew Tanenbaum for teaching operating system design. However, Tanenbaum did not support extensions to his operating system, leading Linus to write a replacement for Minix. Although a running Minix system was originally necessary in order to install and run Linux, the Linux system quickly surpassed Minix in functionality.

The first version of Linux was released to the Internet in September 1991, with the second version following shortly thereafter in October [1]. Since then, thousands of developers around the world have participated in the project. The essay The Cathedral and the Bazaar discusses the development model of the Linux kernel and similar software.

The history of Linux is closely tied to that of GNU, a prominent free-software project led by Richard Stallman. The GNU project was started in 1983 for developing a complete Unix-like operating system, including software development tools and user application programs, entirely of free software. By the release of the first version of the Linux kernel, the GNU project had produced all the necessary components of this system except the kernel. Torvalds and other early Linux-kernel developers adapted their kernel to work with the GNU components to create a fully functional operating system. The kernel is licensed under the GNU General Public License (GPL) but it is not part of the GNU Project. The GNU project does have a kernel, Hurd, but it is still in development.

Tux the penguin is the logo and mascot of Linux. The name "Linux" was coined, not by Torvalds, but by Ari Lemmke, administrator at ftp.funet.fi, who named the FTP directory it was first available from [2]. The Linux trademark (SN: 1916230) is owned by Linus Torvalds, registered for "Computer operating system software to facilitate computer use and operation." The licensing of the trademark is now handled by the Linux Mark Institute.

See also: Timeline of Linux development

Pronunciation

In 1992, Torvalds explained [3] (IPA pronunciations added to quote in curly brackets):

"'li' is pronounced with a short [ee] {IPA /I/} sound: compare prInt, mInImal etc. 'nux' is also short, non-diphtong, like in pUt {IPA /ʊ/}. It's partly due to minix: linux was just my working name for the thing, and as I wrote it to replace minix on my system, the result is what it is... linus' minix became linux."

An audio file of Torvalds saying "Hello, this is Linus Torvalds, and I pronounce Linux as /linəks/" also exists [4]. Note that in English, "Linux" and "Minix" are usually pronounced with a short /I/ sound that is different from Torvalds's Finland-Swedish pronunciation of these words.

See also List of words of disputed pronunciation#Names for a discussion of the various ways "Linux" is pronounced.

Linux and GNU/Linux

Main article: GNU/Linux naming controversy

Because the GNU libraries and programs, an essential part of nearly all Linux distributions, stem from a long-standing free operating system project that dates before the Linux kernel, Richard Stallman and the Free Software Foundation ask that the combined system (regardless of distribution) be referred to as GNU/Linux. Although some distributions do use this name — most notably Debian GNU/Linux — most simply refer to the system as Linux. The distinction between Torvalds' kernel and entire Linux-based systems that contain the kernel is a perennial source of confusion, and the naming remains controversial.

Litigation

Main article: SCO-Linux controversies

In March 2003, the SCO Group (SCO) filed a lawsuit against IBM claiming that IBM had contributed portions of SCO's intellectual property to the Linux kernel in violation of IBM's license to use UNIX. Additionally, SCO sent letters to a number of companies warning that their use of Linux without a license from SCO may be actionable, and claimed in the press that they would be suing individual Linux users. This controversy has involved lawsuits by SCO against Novell, DaimlerChrysler (partially dismissed in July, 2004), and AutoZone, and by Red Hat and others against SCO. To date, no proof of SCO's claims of copied code in Linux has been provided.

Distributions

Main article: Linux distribution

Linux is dominantly used as part of a Linux distribution (distro). These are compiled by individuals, loose-knit teams, and various professional organizations. They include any number of additional system software and application programs, as well as certain processes to install these systems on a computer. Distributions are created for many different purposes, including localization, architecture support, real-time applications, and embedded systems, and there are some which deliberately include only free software.

A typical general-purpose distribution includes the Linux kernel, the GNU libraries and tools, command-line shells, and a tremendous amount of application software, from office applications suites and the graphical X Window System to compilers, text editors, and scientific tools.

Development efforts

More Than a Gigabuck: Estimating GNU/Linux's Size, a study of Red Hat Linux 7.1, found that this particular distribution contained 30 million source lines of code (SLOC). Using the Constructive Cost Model (COCOMO), the study estimated that this distribution required about eight thousand person-years of development time. Had all this software been developed by conventional proprietary means, it would have cost 1.08 billion dollars (year 2000 dollars) to develop in the United States.

The majority of the code (71%) was written in the C programming language, but many other languages were used, including C++, Lisp, assembly language, Perl, Fortran, Python, and various shell scripting languages. Slightly over half of all lines of code were licensed under the GPL. The Linux kernel contained 2.4 million lines of code, or 8% of the total.

In a later study, Counting potatoes: the size of Debian 2.2, the same analysis was performed for Debian GNU/Linux version 2.2. This distribution contained over fifty-five million source lines of code, and would have cost 1.9 billion dollars (year 2000 dollars) to develop by conventional proprietary means.

Applications

A GNOME Desktop
File:Screenshot-6.png
The Debian distribution of GNU/Linux on a desktop

In the past, a Linux user needed significant knowledge of computers in order to install and configure his system. For this reason and, being attracted by access to the internals of the system, Linux users have traditionally tended to be more technologically oriented than users of Microsoft Windows and Mac OS, often revelling in the tag of "hacker" or "geek". This stereotype has been dispelled in recent years by the increasing user-friendliness and broader adoption of many Linux distributions. Linux has made considerable progress in server and special-purpose markets, such as image rendering and Web services, and is beginning to make inroads into the high volume desktop market.

Linux is the cornerstone of the so-called LAMP server-software combination (Linux, Apache, MySQL, Perl/PHP/Python) that has achieved widespread popularity among Web developers, making it one of the most common platforms on the Web.

Linux is also often used in embedded systems. Its low cost makes it particularly useful in set-top boxes and for such devices as the Simputer, a computer aimed especially at low-income populations in developing nations. In mobile phones, it is an alternative to the common Symbian OS's software in the cell-phone market. In handheld devices, it is an alternative to the dominant Windows CE and Palm OS operating systems. The popular TiVo PVR also uses a customized version of Linux. A number of network firewalls and routers, including several from Linksys, use Linux internally, using its advanced firewalling and routing capabilities.

Linux is increasingly common as an operating system for supercomputers, most recently on 64-bit AMD Opterons in the Cray XD1.

In desktop environments like KDE and GNOME, Linux may be used with a user interface that is comparable to that of Mac OS or Microsoft Windows in addition to other desktop environments and to its traditional Unix-like command line interface. Graphical Linux software exists for many niches, but in some areas there is still greater breadth and quantity of software available for proprietary operating systems.

Usability and market share

Once viewed as an operating system only computer geeks could use, Linux is today a much more user-friendly system, with many graphical interfaces and applications that bear a close resemblance to those of popular consumer operating systems.

Its market share for desktop usage remains small but growing. According to market research company IDC, 25% of servers and 2.8% of desktop computers were running Linux in 2002. However, argued advantages of Linux, such as lower cost, fewer security vulnerabilities, and lack of vendor lock-in have spurred a growing number of high-profile cases of mass adoption of Linux by corporations and governments for specific purposes.

Linux and other free software projects are frequently criticised for not going far enough in terms of ensuring usability, and the question of Linux's usability compared to Windows or the Macintosh remains hotly debated. For those only familiar with Windows or the Macintosh, using Linux may be difficult because many tasks do not work identically, and substantial differences remain in more sophisticated administrative and configuration tasks. It is also easier to find local technical support for Windows or MacOS than for Linux in many places.

Additionally, users might have to switch application software, and equivalents of some programs may not be available or there may be fewer options, as there are for computer games. However, more office and end-user applications now come with an automated installation program. Because of reluctance to change and the fact that most computers come with Windows pre-installed, there is a slow adoption of new desktop operating systems.

Support for certain new or obscure hardware remains an issue. Though many vendors provide drivers, the majority of available device drivers must be developed by volunteers after the release of the product. Often this development requires reverse engineering of some sort, as manufacturers often refuse to provide hardware or firmware specifications for their products.

There have been conflicting studies of Linux's usability and cost. Relevantive, a Berlin-based company specializing in consulting companies on the usability of software and Web services, concluded in 2003 that the usability of Linux for a set of specific desktop-related tasks was "nearly equal to Windows XP." On the other hand, Microsoft-sponsored studies by IDC have argued that Linux has a higher total cost of ownership (TCO) than Windows.

Linux distributions have been criticized for unpredictable development schedules, thus making enterprise users less comfortable with Linux than they might be with other systems (Marcinkowski, 2003). However, some observers claim that the intervals between Linux distribution releases are no worse, and often better, than the project management "schedule slipping" that occurs with other operating systems and with software systems in general. The large number of choices of Linux distributions can also confuse users and software vendors.

The paper Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers! identifies many quantitative studies of open source software, including market share, reliability, with many studies specifically examining Linux.

Windows emulation

Several programs run Windows applications on Linux, with varying levels of success. By virtualising hardware, VMware is a commercial application that can run multiple versions of Windows, other Linux, Netware and other x86 operating systems under Linux with near-perfect functionality, but some additional CPU and I/O overhead. Note that VMware is not a CPU emulator -- it's an hypervisor, so CPU instructions are directly executed, increasing its performance significantly over emulation programs.

Unlike virtualization software, [Win4Lin], WINE and WINE-based programs like Crossover Office and Transgaming Cedega use an application compatibility layer that works with the primary installed operating system to execute commands. This architectural approach has negative implications for speed, but may have positive implications for ability of individuals familiar with open-source to "tweak" these programs for specific needs.

Installation

Initially, difficulty of installation was a barrier to adoption of Linux-based systems, but the process has been made much easier in recent years. Many distributions are as easy to install as a comparable version of Windows. Also, personal computers that come with Linux distributions already installed are readily available from numerous vendors, including large, mainstream vendors like Hewlett-Packard and Wal-Mart.

The most common method of installing Linux, supported by all major distributions, is by booting from a CD that contains the installation program and installable software. Such a CD can be burned from a downloaded ISO image, purchased alone for a low price, or can be obtained as part of a box set that may also include manuals and additional commercial software.

Some distributions, such as Debian, can be installed from a small set of floppy disks. After a basic system is installed, more software can be added by downloading it from the Internet or using CDs.

Some distributions, such as Knoppix, can be run directly from a so-called live CD, rather than installing it to the hard drive. With this, one boots from the CD and can use Linux without making any modification to the contents of the hard drive. Similarly, some minimal distributions, such as tomsrtbt, can be run directly from a set of floppy disks without needing to change the hard drive contents.

Many distributions also support booting over a network, so an installation on a properly configured machine can be done over a network.

Configuration

Configuration of most settings is stored in a single directory called /etc, while user-specific settings are stored in hidden files in the user's home directory. A few programs use a configuration database instead of files.

There are a number of ways to change these settings. The easiest way to do this is by using tools provided by distributions such as SuSE's YaST or Mandrake's Control Center. Others, like Linuxconf, Gnome System Tools, and Webmin, are not distribution-specific. There are also many command line utilities for configuring programs. Since nearly all settings are stored in ordinary text files they can be configured by any text editor.

Support

Technical support is provided by commercial suppliers and by other Linux users, usually in online forums, newsgroups and mailing lists. Linux User Groups (LUGs) all over the world assist many users, mostly locally, and often also hold "installfests" where users can install Linux with a nearby helping hand.

The business model of commercial suppliers is generally dependent on charging for support, especially for business users. Third-party commercial support is also readily available.

References

See also

Template:Bookshelf