Wednesday, June 25, 2008

History Of Linux



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, had the goal of creating a "complete Unix-compatible software system"[6] made entirely of free software. In 1985, Richard Stallman created the Free Software Foundation and developed the GNU General Public License (GNU GPL). Many of the programs required in an OS (such as libraries, compilers, text editors, a Unix shell, and a windowing system) were completed by the early 1990s, although low level elements such as device drivers, daemons, and the kernel were stalled and incomplete.[7] 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.[8]

MINIX

MINIX, a Unix-like system intended for academic use, was released by Andrew S. Tanenbaum in 1987. The source code for MINIX 1.0 was printed in his book Operating Systems: Design and Implementation. While easily available, modification and redistribution were restricted (though that is not the case today). The code was covered by the copyrights of the textbook, published by Prentice Hall. In addition, MINIX's 16-bit design was not well adapted to the 32-bit design of the increasingly cheap and popular Intel 386 architecture for personal computers.

In 1991, Torvalds began to work on a non-commercial replacement for MINIX while he was attending the University of Helsinki.[9] This eventually became the Linux kernel.

In 1992, Tanenbaum posted an article on Usenet claiming Linux was obsolete. In the article, he criticized the operating system as being monolithic in design and being tied closely to the x86 architecture and thus not portable, which he described as "a fundamental error".[10] Tanenbaum suggested that those who wanted a modern operating system should look into one based on the microkernel model. The posting elicited the response of Torvalds, which resulted in a well known debate over the microkernel and monolithic kernel designs.[10]

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.[11] Linux and GNU developers worked to integrate GNU components with Linux to make a fully functional and free operating system.[7]

Commercial and popular uptake

Today Linux is used in numerous domains, from embedded systems[12] to supercomputers,[13] and has secured a place in web server installations with the popular LAMP application stack.[14] 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.

Pronunciation

In 1992, Torvalds explained how he pronounces the word Linux:

'li' is pronounced with a short [ee] sound: compare prInt, mInImal etc. 'nux' is also short, non-diphthong, like in pUt. 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.

Linus Torvalds, comp.os.linux newsgroup[15]

Torvalds has made available an audio sample which indicates his own pronunciation, in English and Swedish.[16][17] However, an interview from the 2001 documentary Revolution OS indicates that his preferred pronunciation has slightly changed.[18]

Many English speakers tend to pronounce the name as [ˈlɪnʊks] or [ˈlɪnəks].

Design

Linux is a modular Unix-like operating system. It derives much of its basic design from principles established in Unix during the 1970s and 1980s. Linux 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.

Much of Linux's higher-level functionality is provided by separate projects which interface with the kernel. The GNU userland is an important part of most Linux systems, providing the shell and Unix tools which carry out many basic operating system tasks. On top of the kernel, these tools form a Linux system with a graphical user interface that can be used, usually running in the X Window System.

User interface

See also: User interface

Linux 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, KDE, GNOME and Xfce are the most popular user interfaces,[19] 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 FVWM, Enlightenment, Fluxbox 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 usually provides a command line interface 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 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.

No comments:

 

blogger templates | Make Money Online