iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux和GNU系统的关系详解
  • 263
分享到

Linux和GNU系统的关系详解

linux与gnu的关系 2022-06-04 23:06:17 263人浏览 八月长安
摘要

目录每天都在运行的linux系统其实是?Linux内核 和 GNU 系统简介Linux内核 和 GNU 系统之间的关系详解总结每天都在运行的Linux系统其实是? 今天广泛使用的 GNU 版本通常被称为“Li

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

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

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

Linux内核 和 GNU 系统简介

确实有一个 Linux,这些人正在使用它,但它只是他们使用的系统的一部分。Linux 是内核:系统中的程序,它将机器的资源分配给您运行的其他程序。内核是操作系统的重要组成部分,但它本身毫无用处;它只能在完整操作系统的上下文中运行。Linux 通常与 GNU 操作系统结OHhJko合使用:整个系统基本上是 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系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

--结束END--

本文标题: Linux和GNU系统的关系详解

本文链接: https://www.lsjlt.com/news/21550.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于Linux系统和Windows系统你了解多少?
      Linux、Windows都属于操作系统,但是相对于Linux来说,Windows更加普遍使用的人也比较多,不用做过多的介绍,而Linux虽然使用率不是很高,但是也具有非常重要的作用,那么Linux和Windows到底有着怎样的区别一起...
    99+
    2023-06-05
  • 详解React 和 Redux的关系
    目录一、redux和react的关系二、react多组件共享三、redux的三个核心概念1、store2、action (动作)3、reducer (纯函数)总结 文档: ...
    99+
    2024-04-02
  • Linux系统中的索引和PHP的关系是什么?
    在Linux系统中,索引是非常重要的一个概念。索引可以帮助我们快速地查找和访问文件和目录,从而提高了系统的性能和效率。与此同时,在PHP中,索引也是一个非常重要的概念。在PHP中,我们可以使用数组和其他数据结构来实现索引,以便更加方便地访...
    99+
    2023-10-16
    unix 索引 linux
  • Linux系统nmcli命令详解
    这篇文章主要为大家展示了“Linux系统nmcli命令详解”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统nmcli命令详解”这篇文章吧。nmcli命令 是一个非常丰富和灵活的命令行...
    99+
    2023-06-28
  • linux系统scp命令详解
    文章目录 前言一、scp命令语法二、可选参数说明三、常用示例总结 前言 Linux系统scp命令用于Linux系统之间复制文件和目录的操作。 一、scp命令语法 scp [可选参数] file_source file_targ...
    99+
    2023-08-18
    linux
  • Linux操作系统详解(最详细)
    Linux操作系统 文章目录 Linux操作系统@[toc]一. linux操作系统的基本介绍二. Linux操作系统的安装三. Linux的目录结构四. Linux系统的基本操作1. ...
    99+
    2023-09-01
    linux unix 服务器 java
  • 数据库系统概论——关系代数详解
    文章目录 1、关系代数概述1.1 传统的集合运算1.2 专门的关系运算1.2.1 选择运算1.2.2 投影(Projection)1.2.3 连接(Join)1.2.4 两类常用连接运算1.2...
    99+
    2023-09-29
    数据库 mysql
  • Linux中文件系统truncate.c详解
    目录linux-0.11 文件系统truncate.c详解free_indfree_dindtruncateLinux-0.11 文件系统truncate.c详解 free_ind static void free_in...
    99+
    2023-03-24
    文件系统truncate.c linux 文件系统truncate.c
  • Linux系统之dd命令详解
    Linux系统之dd命令详解 一、dd命令介绍1.dd介绍2.dd的相关解释 二、创建指定大小的文件三、给磁盘的分区做备份1.磁盘分区备份2.磁盘分区还原 四、清空磁盘五、给磁盘备份1...
    99+
    2023-09-25
    linux 运维 服务器
  • linux系统依赖关系不满足如何解决
    当Linux系统中的依赖关系不满足时,可以尝试以下解决方法:1. 使用包管理器:利用Linux发行版的包管理器,如APT、YUM、D...
    99+
    2023-09-22
    linux
  • 聚合函数和groupby的关系详解
    目录前言聚合函数介绍group by介绍解释聚合函数和group by的关系使用group by和聚合函数需要注意的地方总结前言 world:世界表格continent:大洲名称na...
    99+
    2024-04-02
  • linux如何关闭系统
    ...
    99+
    2024-04-02
  • Linux系统怎么关机
    本篇内容介绍了“Linux系统怎么关机”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!执行命令“who”查看目前在线用户;执行命令“netst...
    99+
    2023-06-13
  • ASP shell和Linux系统的安全性有关吗?
    随着互联网的普及,网络安全问题变得越来越重要。作为网络安全领域的一部分,服务器安全性也是至关重要的。服务器安全性包括操作系统、Web服务器、数据库、应用程序等的安全性。本文将探讨ASP shell和Linux系统的安全性是否有关系。 首先...
    99+
    2023-09-25
    shell http linux
  • 详谈@Autowired和static的关系
    目录@Autowired和static的关系一、发生的场景二、原理剖析  三、解决方案1、将@Autowire加到构造方法上2、用@PostConstruct注解static方法使用...
    99+
    2024-04-02
  • Linux系统中用户的登入和登出命令详解
    这篇文章主要介绍“Linux系统中用户的登入和登出命令详解”,在日常操作中,相信很多人在Linux系统中用户的登入和登出命令详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统中用户的登入和登出命...
    99+
    2023-06-12
  • Linux中系统时间和硬件时间有什么关系
    在Linux系统中,系统时间和硬件时间之间存在着密切的关系。系统时间是指Linux系统中的运行时间,由操作系统维护和管理,可以通过系...
    99+
    2024-04-02
  • 怎么查看和关闭Linux系统服务
    本篇内容介绍了“怎么查看和关闭Linux系统服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!服务器的本质是为各种服务提供访问功能。使服务器...
    99+
    2023-06-13
  • Linux系统中如何查看和关闭SELinux
    本篇内容主要讲解“Linux系统中如何查看和关闭SELinux”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中如何查看和关闭SELinux”吧!  一、查看SELinux状态命令:...
    99+
    2023-06-13
  • 详解Vue与VueComponent的关系
    下面这个案例 复习我们之前学过的原型链的知识点 // 定义一个构造函数 function Demo() { this.a =...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作