For free operating system primarily composed of the Linux kernel and GNU, see GNU / Linux.
For other uses of this term, see Linux (disambiguation).
3.0.0 The Linux kernel boot process
Linus Torvalds, and community partners around the world.
Linux Kernel Archives
Development iterative development model, using open source and collaboration community.1
Initial release 25 August 19912 (comp.os.minix info)
Stable release 3.12.6 (info)
December 20, 2013, 2 days ago
Last test version 3.13-rc5 (info)
December 22, 2013, 0 days ago
Written in C, ensamblador3
Core Type Unix-like
Supported platforms DEC Alpha, ARM, AVR32, Blackfin, ETRAX CRIS, FR-V, H8/300, Itanium, M32R, m68k, Microblaze, MIPS, MN103, PA-RISC, PowerPC, s390, S + core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa
License GPL v2
Current Status Active
Languages English, Spanish
History of Linux
GNU / Linux
Appendix: Distributions GNU / Linux – Linux distributions: Debian GNU / Linux, Ubuntu, Red Hat Enterprise Linux, Slackware, SUSE Linux, etc..
Linux is a free operating system kernel (also often referred to as core kernel) based on Unix.4 It is one of the leading examples of free software and Linux abierto.5 code is licensed under the GPL v2 and is developed by partners worldwide. The development takes place daily in the Linux Kernel Mailing List Archive
The Linux kernel was designed by the then science student Linus Torvalds Finnish computing quickly got in 1991.6 Linux developers and users who adopted code from other free software projects for use with the new system operativo.7 The Linux kernel has received contributions from thousands of programmers worldwide.8 Typically Linux is used with a packaged software called GNU / Linux distribution and servers.
2 Technical Aspects
2.2 Hierarchy of directories
2.3 Kernel panic
2.4 Programming Languages
2.6 Architecture of virtual machine
2.7 binary formats
3.2 Dates of publication
3.3 Timeline of Linux
7.1 Hardware Support
7.2 monolithic architecture
8 See also
10 External links
History [edit · edit code]
Main article: History of Linux
In April 1991.2 Linus Torvalds, 21, began working on a few simple ideas for a kernel of an operating system. It began with an attempt to obtain a core of free Unix-like operating system that ran on Intel 80386 microprocessors. Then on August 26, 1991, Torvalds wrote in the newsgroup comp.os.minix 9
“I’m doing a (free, just a hobby, will not be anything big and professional like gnu) for AT clones 386 (486) Operating System. I’ve been on it since April and is starting to get ready. I would like to know your opinion on things they like or dislike in minix, as my OS has some resemblance to him. […] I’ve currently ported bash (1.08) and gcc (1.40), and it seems that things work. This implies that I’ll get something practical within a few months … ”
After this, many people helped with the code. In September 1991, Linux version 0.01 was released. It had 10,239 lines of code. In October of that year (1991), Linux version 0.02 was released, then version 0.11 in December (1991) was launched. This version was the first to be self-hosted (autoalbergada). Ie Linux 0.11 could be compiled by a computer execute Linux 0.11, while previous versions were compiled using Linux operating systems. When released the next version, Torvalds adopted the GPL as its license sketch, which did not allow redistribution with another license than GPL.
The ubiquity of the Linux kernel
A newsgroup called alt.os.linux and January 19, 1992 published the first post in this group was started. On March 31, alt.os.linux became comp.os.linux. XFree86 is an implementation of the X Window System, it was ported to Linux kernel version 0.95 was the first to be able to run it. This great leap of versions (of 0.1xa 0.9x) was the feeling that a version 1.0 seemed to be finished off. However, these predictions turned out to be a bit optimistic: from 1993 to early 1994, 15 different versions of 0.99 were developed (reaching version 0.99r15).
On 14 March 1994, Linux 1.0.0, consisting of 176,250 lines of code was launched. In March 1995, Linux 1.2.0, already composed of 310.950 lines of code was launched.
May 1996: Torvalds decided to adopt Tux the penguin as a mascot for Linux.
June 9, 1996: Version 2 of Linux was launched, with a positive reception.
January 25, 1999: Linux 2.2.0 released with 1,800,847 lines of code.
December 18, 1999: IBM mainframe patches for 2.2.13 were published, allowing in this way that Linux was used in corporate computers.
January 4, 2001: Linux 2.4.0 was released with 3,377,902 lines of code.
December 17, 2003: Linux 2.6.0 was released with 5,929,913 lines of code.
December 24, 2008: Linux 2.6.28 was released with 10,195,402 lines código.10
October 20, 2010: Linux 2.6.36 was released with 13,499,457 lines código.11
May 30, 2011: Linus Torvalds anunció12 the kernel version will jump to 3.0 in the following publication.
July 21, 2011: Torvalds posted on his profile on the social network Google+ the kernel version 3.0 was ready with “3.0 Pushed Out” .13
July 22, 2011: It was launched version 3.0 of the kernel http://www.kernel.org
12 May and 13 May 2012 were released versions 3.3.6 and 3.4-rc7 kernel http://www.kernel.org respectively.
Its source code is available for download at the official website: http://www.kernel.org
Technical aspects [edit · edit code]
Architectures [edit · edit code]
2.4.0 diagram core.
Currently Linux monolithic kernel is a hybrid. Device drivers and kernel extensions typically run in a privileged space known as ring 0 (ring 0), with unrestricted access to hardware, although some run in user space. Unlike traditional monolithic kernels, device drivers and kernel extensions can be loaded as modules and to download, while the system continues to operate without interruption. Also, unlike traditional monolithic kernels, drivers can be prevolcados (momentarily detained for more important activities) under certain conditions. This feature was added to handle hardware interrupts correctly and improve support for symmetric multiprocessing.
The fact that Linux was not developed following the design of a microkernel (design, at that time, was considered the most appropriate for a theoretical core for many computer) was subject of a famous and heated argument between Linus Torvalds and Andrew S. Tanenbaum. 14 15
Directory hierarchy [edit · edit code]
Main article: Hierarchy of directories in Linux
In Linux there is a file system that loads and contains all directories, networks, programs, partitions, devices, etc.. that the system can recognize, or at least identified. This set of files and directories, is based on the character (/), the same character also serves to demarcate the directories such as “/ home / user / image.jpg”. The directory specified by a consistent basis just for this route contains all the hierarchy of directories that make up the whole system. This directory is the root directory llamárselo. In Linux, the disks are not assigned a letter as in Windows (eg “C:”), but are assigned a directory hierarchy from the root directory (/), for example: “/ media / floppy” . It is common practice in the Linux file system will use multiple sub-directory hierarchies, according to different functions and types of use of archivos.16 These directories can be classified into:
Static: Contains files that do not change without the intervention of the administrator (root), however, can be read by any other user. (/ Bin, / sbin, / opt, / boot, / usr / bin …)
Dynamic: Contains files that are changing, and can be read and written (some only for their respective user and root). Contain settings, documents, etc.. For these directories, you should back up frequently, or better yet, should be mounted on a separate partition on the same disk, for example, mount the / home directory to another partition on the same disk, separate from the main partition system, thus the system can be repaired without affecting documents or delete users. (/ Var / mail, / var / spool, / var / run, / var / lock, / home …)
Rent: Contains files that can be found on a computer and used in another, or even shared between users.
Restricted: Contains files that can not be shared, are only modifiable by the administrator. (/ Etc, / boot, / var / run, / var / lock …)
Kernel panic [edit · edit code]
Main article: Kernel panic
In Linux, a panic is almost always insurmountable system error detected by the kernel as opposed to similar errors detected in the user space code. It is possible for kernel code to indicate these conditions by calling the panic function located in the header sys / system.h file. However, most of the alerts are the result of exceptions in the kernel code that the processor can not handle, such as references to invalid memory addresses. Usually this is indicative of the existence of a bug somewhere in the warning chain. They can also indicate a hardware failure as a RAM failure or errors in arithmetic functions in the processor, or a bug in the software. It is often possible to restart or shut down properly the kernel via a key combination like ALT + SysRq + reisub.
Programming languages [edit · edit code]
Linux is written in the programming language C, the variant used by the compiler GCC (which has introduced a number of extensions and changes to standard C), along with some small sections of code written in assembly language. By using extensions to the language, GCC has long been the only compiler capable of correctly building Linux. However, Intel claimed to have changed their C compiler so that would compile correctly.
Also many other languages are used in some form, mainly in connection with the construction process of the core (the method by which the bootable images are created from source code). These include Perl, Python, and various shell scripting languages. Some drivers also can be written in C + +, Fortran, or other languages, but this is not advisable. The build system only officially supports Linux kernel and GCC as compiler driver.
Portability [edit · edit code]
Main article: Portability Linux kernel and supported architectures
Ipod running a Linux kernel.
Linus Torvalds Although not originally designed as a portable Linux kernel has evolved in that direction. Linux is now actually one of the most widely ported cores, and works in a variety of systems ranging from iPAQ (one handheld) to a zSeries (mainframe massive). It is planned that Linux is the primary operating system of the new IBM supercomputers, Blue Gene when development is completed.
Anyway, it is important to note that efforts were also directed Torvalds a different kind of portability. According to his view, portability is the ability to easily compile an application system from diverse backgrounds as well, the original popularity of Linux is due in part to some effort to have the favorite applications of all functioning, whether GPL or Open Source.
The main architectures supported by Linux are DEC Alpha, ARM, AVR32, Blackfin, ETRAX CRIS, FR-V, H8, IA64, M32R, m68k, MicroBlaze, MIPS, MN10300, PA-RISC, PowerPC, System/390, SuperH, SPARC , x86, x86 64 and Xtensa17
Virtual machine architecture [edit · edit code]
The Linux kernel can run on many virtual machine architectures, as well as host operating system or client. The virtual machine usually emulates the Intel x86 family of processors, although some are also emulated PowerPC or ARM processors.
Binary formats [edit · edit code]
Linux 1.0 only admitted a.out binary format. The next stable series (Linux 1.2) added using the ELF format, which simplifies the creation of shared libraries (used extensively by current desktop environments such as GNOME and KDE). ELF is the default format used by the GCC since around version 2.6.0. The a.out format is not currently used, making the ELF binary format used by Linux today.
Linux has the ability to allow the user to add the management of other binary formats. Binfmt_misc also lets you run the program associated with a data file.
Versions [edit · edit code]
Beyond having developed its own code and to integrate changes made by other programs, Linus Torvalds continues to launch new versions of the Linux kernel. These are called “vanilla” kernels, meaning they have not been modified by anyone.
Numbering [edit · edit code]
The Linux version of the original core consisted of four numbers. For example, assume that the version number is composed as follows: [. D] ABC (eg 2.2.1, 2.4.13 or 18.104.22.168).
A number denotes the kernel version. It is one that changes less frequently and only does so when a large change in the code or the core concept. Historically it has only been amended three times: in 1994 (version 1.0) in 1996 (version 2.0) and 2011 (version 3.0).
B denotes the number of core subversion.
Before Linux 2.6.x series, even numbers indicate the “stable” version released. For example one for use in manufacturing, such as 1.2, 2.4 or 2.6. Odd numbers, however, as the 2.5.x series are development versions, ie they are not considered production.
Starting with the Linux 2.6.x series, there is no great difference between the odd and even numbers with regard to new tools developed in the same series kernel. Linus Torvalds ruled that this will be the model in the future.
The number C indicates a major revision in the nucleus. In previous versions the form of three numbers, this was changed when implemented in the kernel security patches, bugfixes, new features or drivers. Under the new policy, it is only changed when new drivers or features are introduced; minor changes are reflected in the number D.
The D number occurred when a fatal error that requires an immediate fix, was found in the NFS code for version 2.6.8. However, there were no other changes to launch a new revision (which would have been 2.6.9). Then the 22.214.171.124 version was released, with the bug fixed as the only change. With 2.6.11, this was adopted as the new policy versions. Bug-fixes and security patches are currently managed by the fourth number leaving the biggest changes to the number C.
Also, sometimes after versions may be some lyrics like “rc1” or “mm2”. The “rc” means release candidate and indicates an unofficial release. Other letters usually (but not always) refer to the initials of the person. This indicates a bifurcation in the development of the core made by that person, for example ck With regards Kolivas, ac Alan Cox, while mm refers to Andrew Morton.
The development model for Linux 2.6 was a significant change from the development model of Linux 2.5. Previously there was a stable branch (2.4) where there were minor and safe changes and an unstable branch (2.5) where major changes were permitted. This meant that users always have a version 2.4 failsafe and the ultimate in safety and almost error-free, although they had to wait for the characteristics of the industry 2.5. The 2.5 branch was eventually declared stable and renamed 2.6. But instead of opening an unstable 2.7 branch, developers chose to continue adding cores changes in the “stable” branch 2.6. In this way there was to keep it but keeping an old stable branch and you could make the new features were readily available and could be more testing with the latest code.
However, the development model of the new 2.6 also meant that there was a stable for those expecting security and bug fixes without requiring the latest features branch. Arrangements were only in the latest version, so if a user wanted a version with all known bug fixed would also have the latest features, which had not been well tested. A partial solution to this was the aforementioned version of four numbers (and 2.6.x), which meant specific pitches created by the stable team (Greg Kroah-Hartman, Chris Wright, and perhaps others). The stable team just launched updates for the latest kernel, however this did not solve the problem of shortage of a stable kernel series. Linux distributors such as Red Hat and Debian, kept leaving the nuclei with their releases, so that a solution for some people is to keep the core distribution.
In response to the lack of a stable core of people to coordinate the collection of bug fixes, in December 2005 Adrian Bunk announced it would continue releasing kernels 2.6.16 stable even when the team launched 2.6.17. Also thought of including driver updates, making the maintenance of 2.6.16 series very similar to the old rules for the maintenance as 2.4 stable series. The 2.6.16 kernel will be replaced soon by the 2.6.27 kernel as stable maintenance for several years.
Given the new development model, which remains fixed subversion 2.6, after the Linux Kernel Summit during that year, Linus Torvalds decided to change the numbering system, replacing the first two numbers by a single number, so that Linux 2.6. 39 was followed by 18 Linux 3.0
Publication dates [edit · edit code]
Version Fecha19 Note Ficheros20 LoC21 MiB MiB (bz2)
0.01 September 17, 1991 Initial Public Release 88 8.413 0.267 0.06
0.02 October 5, 1991 –
0.11 December 8, 1991 100 0,363 0,076 11,907
0.95 March 7, 1992 122 0,533 0,111 19,200
1.0.0 March 13, 1994 First stable release 561 4,633 0,969 170,581
1.1.0 April 6, 1994 170,320 561 Development version
1.2.0 March 6, 1995 909 294 623
1.3.0 June 12, 1995 992 323 581 Development version
2.0.0 June 9, 1996 2,015 4,499 716 119 21.7
2.1.0 September 30, 1996 1,727 735 736 Development version
2.2.0 January 26, 1999 4,599 1,676,182
2.3.0 May 11, 1999 4,721 1,763,358 Development version
2.4.0 January 4, 2001 8,187 3,158,560 96.8 18.79
2.5.0 November 23, 2001 Development version 9.893 3833603
2.6.0 December 18, 2003 5,475,685 15,007 170.7 31.7
2.6.25 April 16, 2008 8,396,250 23,810 258.8 46.4
2.6.30 June 10, 2009 10,419,567 27,878 56.7 322.3
2.6.35 August 1, 2010 12,250,679 33,315 66.1 376.2
3.0 July 22, 2011 13,688,408 36,782 73.2 410.8
3.0 July 27, 2012 19,688,408 37,792 73.2 460.8
Timeline of Linux [edit · edit code]
Distributions [edit · edit code]
Main article: Linux Distribution
Sharp Zaurus a handheld computer with Linux.
A Linux distribution is a set of software accompanied by the Linux kernel that focuses on meeting the needs of a specific user group. Thus there are distributions for homes, businesses and servers.
Distributions are joined by individuals, businesses or other organizations. Each distribution can include any number of additional software, including software that facilitates the installation of the system. The base of the software included with every distribution includes the Linux kernel, in most cases, GNU tools, which often also added many software packages.
The tools are usually included in the distribution of the operating system are obtained from various sources, and especially open source projects, such as GNU, GNOME (GNU created by) and KDE. Utilities other projects like Mozilla, Perl, Ruby, Python, PostgreSQL, MySQL, Xorg, almost all with GPL or compatible with it (LGPL, MPL) license is included.
Usually the X.Org Server platform, based on the old XFree86, to support the graphical interface used.
Copyright [edit · edit code]
Initially Torvalds Linux distributed under the terms of a license prohibiting commercial exploitation. But this license was replaced shortly after by the GNU GPL (version 2 only). The terms of the latter license allows the distribution and sale of copies or amended, but requires that all copies of the original work and works of authorship derived from the original to be published under the same terms, and the source code can always be obtained by same medium as licensed software.
Torvalds has referred to be licensed under the GPL Linux as “the best thing I ever did” (in English, “the best thing I ever did”) .22
However, the official version of the Linux kernel firmware contains closed source , thus the Linux-libre project, sponsored by the FSFLA, published and maintained by modified versions of the Linux kernel which has taken away all not free software.
Brand [edit · edit code]
Today, Linux is a registered trademark of Linus Torvalds in the United States.23
Until 1994 no one recorded the Linux brand in the United States. The August 15, 1994 when William R. Della Croce, Jr. recorded the Linux brand, demanded payment of royalties to the Linux distributors. In 1996, Torvalds and some affected organizations denounced Della Croce and in 1997 the case was closed and the mark was assigned to Torvalds.24
Since then, the Linux Mark Institute manages the brand. In 2005, the LMI sent some letters to distributors of Linux that requires payment of a fee for the commercial use of the name. This is because U.S. law requires the owner of a brand defends, so they had to borrow money to use the Linux brand, some companies have voluntarily complied fully with this requirement, knowing that the money is I was going to use to defend charity or brand Linux.25
Reviews [edit · edit code]
Hardware Support [edit · edit code]
The Linux kernel has been frequently criticized for lack of drivers for some hardware for desktop computers. However, the progressive increase in the adoption of Linux on the desktop has improved support for third-party hardware or the manufacturers themselves, causing, in recent years, compatibility issues are reduced.
Companies like IBM, Intel Corporation, Hewlett-Packard, Dell or MIPS Technologies26 have programmers in the team of developers of the Linux kernel which is responsible for maintaining the drivers for the hardware they manufacture. This group of programmers is also added which provides major distributors of Linux solutions like Novell or Red Hat.
Monolithic architecture [edit · edit code]
Andy Tanenbaum wrote on January 29, 1992:
Linux is a monolithic … system. This is a giant step back to the 1970s. It’s like taking an existing program written in C and rewrite it in BASIC. For me, writing a monolithic system in 1991 is truly an idea pobre.27
See also [edit · edit code]
Portal: Linux. Content related to Linux.
Portal: Free Software. Related Content with Free Software.
History of Linux
Disputes SCO on Linux
GNU / Linux
Linux Boot Process
Linux From Scratch
References [edit · edit code]
Go to ↑ LMKL.ORG – the Linux Kernel Mailing List Archive, Official Website of Linux Kernel Mailing List.
↑ Jump to: a b ‘Linux On’. Linux.org. Retrieved July 19, 2012.
↑ Go to ‘The linux-kernel mailing list FAQ: Why is the Linux kernel written in C / assembly? “(In English). Tux.Org. Retrieved May 22, 2013.
Go to ↑ linux.org (ed.): “What is Linux” (in English) (2010). Archived from the original on 27-05-2010. Retrieved August 11, 2011.
↑ Go to Linus Torvalds (25 September 2006). “Re: GPLv3 Position Statement” (in English). Retrieved May 22, 2013.
↑ Go to Marjorie Richardson (November 1, 1999). «Interview: Linus Torvalds” (in English). Linux Journal. Retrieved August 20, 2009.
↑ Go to “Free as in Freedom by Sam Williams. O’Reilly books, 2002. ” Oreilly.com. Retrieved November 12, 2010.
↑ Go to Greg Kroah-Hartman (April 2008). “Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It” (in English). “Since 2005, over 3700 Individual developers from over 200 different companies have Contributed to the kernel.».
↑ Go to Linus Torvalds (25-08-1991) Message from discussion What would you like to see Most in minix? Newsgroups: comp.os.minix, Google Groups (in English).
↑ Go to “Linux Kernel 2.6.28 Data.”
↑ Go to “Linux Kernel 2.6.36 Data.”
↑ Go to Linus Torvalds (30 May 2011). “Linux 3.0-rc1.” Retrieved May 30, 2011.
↑ Go to Linus Torvalds (21 July 2011). “Linux 3 Pushed Out – Linus Torvalds Google Plus Profile.” Retrieved July 27, 2011.
↑ Go to GNU / Linux Kernel Hybrid (in Spanish)
Go to summary ↑ famous argument between Linus Torvalds and Andrew Tanenbaum (in English)
↑ Go to Directory Organization on Linux
↑ Go to / pub / scm / linux/kernel/git/torvalds/linux-2.6.git / tree
↑ Go to May 29, 2011, announcement of Linux 3.0-rc1
↑ Go to publication dates of Linux
↑ Go to Counted with “find-type f | wc-l”
↑ Go to Lines of Code (Lines of Code), counted with “find-name * [HCS] |. Xargs cat | wc-l”
↑ Go to Yamagata, Hiroo (11/11/1997). “The Pragmatist of Free Software: Linus Torvalds Interview.” Retrieved 30-10-2011.
↑ Go to ‘Register in the U.S. No: 1916230. ” Patent and Trademark United States. Retrieved 30-10-2011.
↑ Go to “Linux Timeline.” Linux Journal (31-05-2006).
↑ Go to “Linus gets tough on Linux trademark” (05-09-2005). Retrieved 30-10-2011.
↑ Go to “Who writes Linux” (August 2009).
↑ Go to A. S. Tanenbaum (29-01-1992), “LINUX is obsolete”, accessed 30-10-2011.