• 售前

  • 售后

热门帖子
入门百科

Linux和GNU系统的关系详解

[复制链接]
做我的仆人 显示全部楼层 发表于 2022-1-7 18:27:18 |阅读模式 打印 上一主题 下一主题
目次


  • 天天都在运行的Linux系统其实是?
  • Linux内核 和 GNU 系统简介
  • Linux内核 和 GNU 系统之间的关系详解
  • 总结

天天都在运行的Linux系统其实是?

本日广泛使用的 GNU 版本通常被称为“Linux”,而它的许多用户并不知道 它根本上是由GNU 项目开发的 GNU 系统 。

Linux内核 和 GNU 系统简介

确实有一个 Linux,这些人正在使用它,但它只是他们使用的系统的一部分。Linux 是内核:系统中的程序,它将呆板的资源分配给您运行的其他程序。内核是操纵系统的紧张组成部分,但它自己毫无用处;它只能在完备操纵系统的上下文中运行。Linux 通常与 GNU 操纵系统联合使用:整个系统根本上是 GNU 加上 Linux,或 GNU/Linux。所有所谓的“Linux”发行版实际上都是 GNU/Linux 的发行版。
许多用户不了解内核(Linux)与整个系统(他们也称为“Linux”)之间的区别。名称的暗昧使用无助于人们理解。这些用户每每以为,Linus Torvalds 在 1991 年开发了整个操纵系统,有一点帮助。

Linux内核 和 GNU 系统之间的关系详解

程序员一般都知道Linux是一个内核。但是,由于他们通常也听说过整个系统也被称为“Linux”,因此他们常常假想一段历史,可以证明以内核命名整个系统是公道的。比方,许多人以为,一旦 Linus Torvalds 完成 Linux 内核的编写,其用户就会四处探求其他免费软件,并发现(无特殊缘故原由)制作类 Unix 系统所需的大多数东西都已经可用的。
他们的发现并非偶尔——它是不完全完备的 GNU 系统。可用的自由软件加起来就是一个完备的系统,由于 GNU 项目自 1984 年以来就不停在努力制作一个。在GNU 宣言中,我们提出了开发一个自由的类 Unix 系统的目的,称为 GNU。GNU 项目的 初始公告还概述了 GNU 系统的一些原始计划。到 Linux 启动时,GNU 险些完成了。
大多数自由软件项目的目的是为特定工作开发特定程序。比方,Linus Torvalds 着手编写类 Unix 内核 (Linux);Donald Knuth 着手编写文本格式化程序 (TeX);Bob Scheifler 着手开发一个窗口系统(X Window System)。用来自项目的特定程序来权衡这种项目的贡献是很自然的。
假如我们试图以这种方式权衡 GNU 项目的贡献,我们会得出什么结论?一家 CD-ROM 供应商发现,在他们的“Linux 发行版”中,GNU 软件是最大的单一队伍,约占总源代码的 28%,此中包罗一些必不可少的重要组件,没有这些组件就没有系统。Linux 自己约占 3%。(2008 年的比例相似:在 gNewSense 的“主”存储库中,Linux 为 1.5%,GNU 软件包为 15%。)因此,假如您要根据谁在系统中编写程序来为系统选择一个名称,最符合的单一选择是“GNU”。
但这并不是考虑这个题目的最深条理的方法。GNU 项目不是,也不是开发特定软件包的项目。这不是一个开发 C 编译器的项目,只管我们如许做了。固然我们开发了一个文本编辑器,但它不是一个开发文本编辑器的项目。GNU 计划着手开发一个完备的自由类 Unix 系统:GNU。
许多人为系统中的自由软件做出了庞大贡献,他们的软件都值得歌颂。但它之所以是一个集成系统——而不仅仅是一组有用程序的集合——是由于 GNU 项目着手将它酿成一个系统。我们列出了制作完备免费系统所需的程序清单,我们系统地查找、编写或找人编写清单上的所有内容。我们编写了必不可少但乏味的 [1]组件,由于没有它们您就无法拥有一个系统。我们的一些系统组件,即编程工具,自己在程序员中盛行起来,但我们编写了许多不是工具的组件 [2]. 我们乃至开发了一个国际象棋游戏 GNU Chess,由于一个完备的系统也需要游戏。
到 90 年代初,除了内核之外,我们已经将整个系统组装在一起。我们还启动了一个内核,即 GNU Hurd,它运行在 Mach 之上。开发这个内核比我们预期的要困难过多; GNU Hurd 于 2001 年开始可靠地工作,但间隔让人们广泛使用还有很长的路要走。
荣幸的是,由于 Linux,我们不必等待 Hurd。Torvalds 在 1992 年解放了 Linux,它填补了 GNU 系统的末了一个重要缺口。然后人们可以 将 Linux 与 GNU 系统联合起来,形成一个完备的自由系统——一个也包含 Linux 的 GNU 系统版本。换句话说,GNU/Linux 系统。
让他们很好地协同工作并非易事。一些 GNU 组件 [3]需要大量更改才气与 Linux 一起使用。将一个完备的系统集成为一个“开箱即用”的发行版也是一项艰巨的工作。它需要办理怎样安装和引导系统的题目——我们还没有办理这个题目,由于我们还没有达到那个点。因此,开发各种系统发行版的人做了许多必不可少的工作。但是,就事物的性子而言,这是肯定会由或人完成的工作。
GNU工程支持GNU / Linux系统,以及在GNU系统。该FSF资金的Linux相关的扩展,GNU C库的改写,所以,现在他们已完全融入,以及最新的GNU / Linux系统中使用当前版本的库没有变化。FSF 还资助了 Debian GNU/Linux 的早期开发阶段。
本日有许多差异的 GNU/Linux 系统变体(通常称为“发行版”)。它们中的大多数都包含非自由程序——它们的开发人员遵循与 Linux 相关的“开源”哲学,而不是GNU的 “自由软件”哲学。但也有 完全免费的 GNU/Linux 发行版。FSF 支持此中一些的盘算机设施。
制作免费的 GNU/Linux 发行版不仅仅是消除各种非自由程序的题目。现在,通常的 Linux 版本也包含非自由程序。这些程序旨在在系统启动时加载到 I/O 装备中,它们以一长串数字的形式包含在 Linux 的“源代码”中。因此,维护免费的 GNU/Linux 发行版现在也需要维护Linux的免费版本。
无论您是否使用 GNU/Linux,请不要肴杂使用“Linux”这个名称来肴杂公众。Linux 是内核,是系统必不可少的重要组件之一。整个系统根本上是GNU系统,参加了Linux。当您批评这种组合时,请称其为“GNU/Linux”。

总结

到此这篇关于Linux和GNU系统的关系详解的文章就先容到这了,更多相关Linux和GNU系统内容请搜索草根技能分享从前的文章或继承欣赏下面的相关文章希望各人以后多多支持草根技能分享!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作