Tuesday, 24 March 2009

Linux

From Wikipedia, the free encyclopedia

Linux

Tux, the penguin, mascot of the Linux kernel. For the 2.6.29 release only, the mascot has been temporarily replaced by Tuz in order to highlight efforts to save the Tasmanian Devilfrom extinction.

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL and other free licenses.

Linux is predominantly known for its use in servers, although it is installed on a wide variety of computer hardware, ranging from embedded devices and mobile phones to supercomputers. The popularity of Linux distributions as desktop and laptop operating system has been growing lately due to the rise of netbooks and the Ubuntu distribution of the operating system.

The name "Linux" comes from the Linux kernel, originally written in 1991 by Linus Torvalds. The rest of the system, including utilities and libraries, usually comes from the GNU operating system announced in 1983 by Richard Stallman. The GNU contribution is the basis for the alternative name GNU/Linux.

History


Richard Stallman, left, founder of the GNU project, and Linus Torvalds, right, author of the Linux kernelRichard Stallman, left, founder of the GNU project, and Linus Torvalds, right, author of the Linux kernel
Richard Stallman, left, founder of the GNU project, and Linus Torvalds, right, author of the Linux kernel

The Unix operating system was conceived and implemented in the 1960s and first released in 1970. Its wide availability and portability meant that it was widely adopted, copied and modified by academic institutions and businesses, with its design being influential on authors of other systems.

The GNU Project, started in 1984 by Richard Stallman, had the goal of creating a "complete Unix-compatible software system" made entirely of free software. The next year Stallman created 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, compilerstext editors, a Unix shell, and a windowing system) were completed, although low-level elements such asdevice driversdaemons, and the kernel were stalled and incomplete. Linus Torvalds has said that if the GNU kernel had been available at the time (1991), he would not have decided to write his own.


MINIX

In 1991 while attending the University of Helsinki, Torvalds began to work on a non-commercial replacement for MINIX, which would eventually become the Linux kernel.

Linux was dependent on the MINIX user space at first. With code from the GNU system freely available, it was advantageous if this could be used with the fledgling OS. Code licensed under the GNU GPL can be used in other projects, so long as they also are released under the same or a compatible license. In order to make the Linux kernel compatible with the components from the GNU Project, Torvalds initiated a switch from his original license (which prohibited commercial redistribution) to the GNU GPL. Developers worked to integrate GNU components with Linux to make a fully functional and free operating system.


Commercial and popular uptake

Today Linux distributions are used in numerous domains, from embedded systems to supercomputers, and have secured a place inserver installations with the popular LAMP application stack. Use of Linux distributions in home and enterprise desktops has been expanding. They have also gained in popularity with governments such that the governments have decided to use them in their computers. The federal government of Brazil is well known for its support for Linux. News of the Russian military creating their own Linux distribution has also surfaced. India has gone so far as to make it mandatory for all state high schools to run Linux on their computers. China, France, and Germany have also taken steps in its adoption.

Linux distributions have also become popular with the newly founded netbook market, with many devices such as the ASUS Eee PC and Acer Aspire One shipping with customized Linux distributions pre-installed.


Current development

Torvalds continues to direct the development of the kernel. Stallman heads the Free Software Foundation, which in turn supports the GNU components. 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


Main components of Linux operating system

A Linux-based system is a modular Unix-like operating system. It derives 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, and peripheral and file system access. Device drivers are integrated directly with the kernel.

Separate projects that interface with the kernel provide much of the system's higher-level functionality. The GNU userland is an important part of most Linux-based systems, providing the most common implementation of the C library, a popular shell, and many of the common Unix tools which carry out many basic operating system tasks. The graphical user interface on most Linux systems is based on the X Window System.

User interface

A Linux-based system can be controlled by one or more of a text-based command line interface (CLI), graphical user interface (GUI) (usually the default for desktop), or through controls on the device itself (common on embedded machines).

On desktop machines, KDEGNOME and Xfce are the most popular user interfaces,[28] though a variety of other user interfaces exist. Most popular user interfaces run on top of the X Window System (X), which provides network transparency, enabling a graphical application running on one machine to be displayed and controlled from another.

Other GUIs include X window managers such as FVWMEnlightenment and Window Maker. The window manager provides a means to control the placement and appearance of individual application windows, and interacts with the X window system.

A Linux system typically provides a CLI of some sort through a shell, which is the traditional way of interacting with a Unix system. A Linux distribution specialized for servers may use the CLI as its only interface. A “headless system” run without even a monitor can be controlled by the command line via a remote-control protocol such as SSH or telnet.

Most low-level Linux components, including the GNU Userland, use the CLI exclusively. The CLI is particularly suited for automation of repetitive or delayed tasks, and provides very simple inter-process communication. A graphical terminal emulator program is often used to access the CLI from a Linux desktop.