linux中gnu的含义是什么?

如题所述

1.3.2 GNU知识

GNU的全称为GNU's not unix,意思是“GNU不是UNIX”,GNU计划,又称革奴计划,是由Richard Stallman在1984年公开发起的,是FSF的主要项目。前面已经提到过,这个项目的目标是建立一套完全自由的和可移植的类Unix操作系统。

GNU类Unix操作系统是由一系列应用程序、系统库和开发工具构成的软件集合,例如:Emacs 编辑软件、gcc 编译软件、bash 命令解释程序和编程语言,以及gawk (GNU’s awk) 等,并加上了用于资源分配和硬件管理的内核。

但是GNU自己的内核Hurd仍在开发中,离实用还有一定的距离。因此,这个GNU系统并没有流行起来。现在的GNU系统通常是使用Linux系统的内核、加上GNU项目贡献的一些组件,以及其他相关程序组成的,这样的组合被称为GNU/Linux操作系统。

到1991年Linux内核发布的时候,GNU项目已经完成了除系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下, GNU项目的部分组件又运行到了Linux内核之上,例如:GNU项目里的Emacs、gcc、bash、gawk等,至今都是Linux系统中很重要的基础软件。内容来自老男孩作者出版书籍。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-08-30
1.GNU

gnu计划,又称革奴计划,是由richard stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。richard stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《gnu宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。
gnu是“gnu's not unix”的缩写。stallman宣布gnu应当发音为guh-noo,与canoe发音相同,以避免与gnu(非洲牛羚,发音与new相同)这个单词混淆。unix是一种广泛使用的商业操作系统的名称。由于gnu将要实现unix系统的接口标准,因此gnu计划可以分别开发不同的操作系统部件。gnu计划采用了部分当时已经可自由使用的软件,例如tex排版系统和x window视窗系统等。不过gnu计划也开发了大批其他的自由软件。
为保证gnu软件可以自由地“使用、复制、修改和发布”,所有gnu软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,gnu通用公共许可证(gnu general public license,gpl)。这个就是被称为“反版权”(或称copyleft)的概念。
1985年richard stallman又创立了自由软件基金会(free software foundati hat兼并的cygnus soluti
到了1990年,gnu计划已经开发出的软件包括了一个功能强大的文字编辑器emacs,c语言编译器gcc,以及大部分unix系统的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为hurd)。
1991年linus torvalds编写出了与unix兼容的linux操作系统内核并在gpl条款下发布。linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年linux与其他gnu软件结合,完全自由的操作系统正式诞生。(尽管如此gnu计划自己的内核hurd依然在开发中,目前已经发布beta版本。)
许多unix系统上也安装了gnu软件,因为gnu软件的质量比之前unix的软件还要好。gnu工具还被广泛地移植到windows和mac os上。

2.gnu/linux

linux只是一个操作系统内核,而gnu提供了大量的自由软件来丰富在其之上各种应用程序
因此,严格来讲,linux这个词本身只表示linux内核,但在实际上人们已经习惯了用linux来形容整个基于linux内核,并且使用gnu 工程各种工具和数据库的操作系统。基于这些组件的linux软件被称为linux发行版。一般来讲,一个linux发行套件包含大量的软件,比如软件开发工具,数据库,web服务器(例如apache),x window,桌面环境(比如gnome和kde),办公套件(比如openoffice.org),等等。
绝大多数基于linux内核的操作系统使用了大量的gnu软件,包括了一个shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如emacs。正是由于linux使用了许多gnu程序,gnu计划的开创者richard stallman博士提议将linux操作系统改名为gnu/linux。但有些人只把操作系统叫做"linux"。
有部分linux套件,包括了debian,采用了“gnu/linux”的称呼。但大多数商业linux套件依然将操作系统称为linux。有些人也认为“操作系统”一词指的应该只是系统的内核,其他程序都只能算是应用软件,这么一来,该操作系统的内核应叫linux,而linux套件是在linux内核的基础上加入各种gnu工具。本回答被网友采纳