Linux还是GNU/Linux?
【摘要】 GNU 和 Linux 的关系可以用一句话概括:GNU 提供了操作系统的基础工具和框架,而 Linux 是操作系统的核心(内核),二者结合形成了今天广泛使用的“GNU/Linux 操作系统”(通常被简称为“Linux 系统”)。 1. GNU 是什么?GNU 项目由 Richard Stallman 在 1983 年发起,目标是创建一个完全自由的、类 Unix 的操作系统(名称是“GNU’s...
GNU 和 Linux 的关系可以用一句话概括:GNU 提供了操作系统的基础工具和框架,而 Linux 是操作系统的核心(内核),二者结合形成了今天广泛使用的“GNU/Linux 操作系统”(通常被简称为“Linux 系统”)。
1. GNU 是什么?
- GNU 项目由 Richard Stallman 在 1983 年发起,目标是创建一个完全自由的、类 Unix 的操作系统(名称是“GNU’s Not Unix”的递归缩写)。
- GNU 开发了大量操作系统所需的工具和组件,例如:
- GCC(编译器)、Glibc(C 语言标准库)、Bash(命令行解释器)、Coreutils(基础命令如
ls
,cp
)。 - 文本编辑器(如 Emacs)、构建工具(如 Make)等。
- GCC(编译器)、Glibc(C 语言标准库)、Bash(命令行解释器)、Coreutils(基础命令如
- 关键问题:GNU 缺少一个可用的 内核(操作系统的核心组件,负责管理硬件和资源)。GNU 原本计划的内核 Hurd 开发缓慢,未能成熟。
2. Linux 是什么?
- Linux 是 Linus Torvalds 在 1991 年开发的一个 内核(Kernel),最初用于个人计算机。
- 内核的作用是管理硬件(如 CPU、内存、磁盘、网络等),并为上层软件提供接口。
- Linux 内核本身是独立开发的,但它遵循 GNU 的 GPL 协议(自由软件协议),允许自由使用和修改。
3. GNU 和 Linux 的结合
- 背景:GNU 项目已经开发了操作系统的几乎所有工具,但缺少内核;Linux 刚好提供了一个可用的内核。
- 互补性:
- GNU 提供工具:用户空间(User Space)的程序(如命令行工具、编译器、库等)。
- Linux 提供内核:负责底层硬件管理和进程调度。
- 结果:两者结合后形成了一个完整的操作系统,即 GNU/Linux(例如 Debian、Fedora、Ubuntu 等发行版)。
4. 为什么常被简称为“Linux”?
- 尽管系统的大部分工具来自 GNU,但 Linux 内核的名字更广为人知。许多用户和媒体习惯将整个系统称为“Linux”。
- 争议:GNU 项目认为应称为 GNU/Linux,以强调 GNU 的贡献。但约定俗成的名称“Linux”更流行。
5. 实际例子
- 当你在 Linux 系统中运行
gcc
(编译器)、bash
(终端)、ls
(文件列表)等命令时,你使用的都是 GNU 工具。 - 当你操作硬件(如挂载磁盘、管理进程)时,底层由 Linux 内核 完成。
总结
- GNU 是操作系统工具链的集合,Linux 是内核。
- 二者结合形成了完整的 GNU/Linux 操作系统,成为开源世界的基石。
- 严格来说,“Linux 系统”是 GNU 工具 + Linux 内核 + 其他组件(如 GUI、应用软件)的组合。
理解这一点,就能明白为什么 Richard Stallman 坚持使用“GNU/Linux”这一名称——它体现了自由软件运动中协作的力量。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)