Linux and GNU Engineering

Source: Internet
Author: User

Every day many computer users use a modified GNU system (18 K bytes), but they are not aware of it. After a series of events, the widely used GNU version is often referred to as "Linux", but many users do not understand the associated GNU project.

Linux does exist. It is a kernel and is used by many people. However, you cannot only use the kernel itself. The kernel is only useful as a part of the entire system. Linux is used together with the GNU Operating System: the system itself is GNU and works together with Linux as the kernel.

Many users do not fully understand the differences between the Linux kernel and the entire system called "Linux. Using this name without distinction is not helpful for understanding.

Programmers generally know that Linux is a kernel. But because they also heard the entire system called "Linux", they thought back to history based on their names. For example, many people think that when Linus Torvalds finishes the kernel, his friends look around for other free software, and all programs that can be assembled into a Unix-like system are ready for use.

Their findings are no coincidence-this is the GNU system. The available free software is combined to form a complete system, because the GNU project has been working hard since 1984. The GNU Declaration (31 KB) has already set up a Unix-like free system goal called GNU. The initial announcement of the GNU project also outlines the original outline of the GNU system. This system was almost completed when Linux was compiled.

Most free software projects develop specific programs for specific work. For example, Linus Torvalds writes a Unix-like kernel (Linux); Donald knuth writes a Text Formatting tool (Tex); Bob scheifler develops a window system (X Window System ). It is natural to evaluate the contributions made to the programs written in this project.

If we use this method to measure the contribution to the GNU project, what conclusions will we draw? A CD-ROM provider found that GNU accounted for the largest portion of their "Linux distributions", about 28% of all source code, and included some key components, without these components, the system cannot work. Linux accounts for about 3%. Therefore, if you want to select a name based on the Program author, the most appropriate choice is "GNU ".

However, we do not think this is an appropriate solution to the problem. The GNU project was not previously, nor is it a project to develop a software package. It is not a project for C compiler development, though we have done it. It is not a project for developing a text editor, even though we have done it. The goal of the GNU project is to developA completely free UNIX-like system: GNU.

Many people have already made significant contributions to free software in the system, and they should all be honored. However, GNU isOne systemThe reason for not combining some utilities is that the initial goal of the GNU project is to build a complete system. We usedCompleteThe system makes a list of required programs, and we systematically look for and write these programs, and find every program on the list written by others. We have written key but boring main components, such as assembly languages and connectors, because they are required by the system. In addition to programming tools, a complete system also requires more things. The Bourne again shell program and the postscript interpreter ghostscript are equally important as the gnu c library.

In the early 1990s S, we put everything except the kernel together to form a system (we are also working on the kernel) called GNU Hurd and run on Mach ). Developing this kernel is much harder than we think, and we are still working on it.

Fortunately, you don't have to wait any longer because the Linux development is successful. When Linus Torvalds is written into Linux, it fills an important gap. People can combine Linux and GNU into a complete free system: Linux-based GNU system (or GNU/Linux System for short ).

It sounds easy to combine them, but it is not a simple task. The gnu c library (glibc) requires a lot of modifications. Integration into a complete distribution system is also a big task. It needs to locate how to install and start the system-this problem is still being improved, because we have not yet grasped the key points. Those who have developed different release systems have made great contributions.

In addition to GNU, there is also an independent project that develops a free UNIX-like operating system. This system is called BSD and developed by UC Berkeley. Inspired by the GNU project, BSD developers started to develop their own free software and were often encouraged by GNU people. However, their actual work is not much different from that of GNU. Today, the BSD system uses some GNU software, just as the GNU system of different versions uses the BSD software. In general, they are two different systems independently developed. Today, almost all free operating systems use a derived version of GNU or BSD.

The GNU project supports the GNU/Linux system, just as it supports the GNU system-including funding support. We provide funding to rewrite Linux-related gnu c libraries so that they can now be well integrated until the latest version of GNU/Linux still uses this library without modification. We also provided funding for early Debian GNU/Linux development.

Today, most of our work is done on the Linux-based GNU system, and we hope you will do the same. However, do not confuse the public by Using Linux in a vague manner. Linux is the kernel and one of the key components of the system. The system should be more or less a GNU system, coupled with Linux. When you talk about this combination system, use "GNU/Linux ".

This page and http://www.gnu.org/gnu/the-gnu-project.html are good choices if you want to link GNU/Linux. Http://www.kernel.org/is a good URL for Linux (kernel.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.