简单介绍一下GNU

首先为什么叫这个名字呢?

“Gnu”一词本身指的是非洲草原上的一种动物——角马(Wildebeest),这种动物的名字被用作新操作系统的名称。而"Gnu’s Not Unix"这个完整的表述则是对该项目目标的一种诙谐表达:体现了项目创始人理查德·斯托曼在创建这个操作系统时所持有的一个理念和幽默感。他希望开发出一套完全免费、开放源代码的操作系统,其功能与Unix兼容,但不包含任何Unix的专有或受版权保护的代码。尽管在设计上要达到与Unix类似的功能和接口标准,以便于开发者和用户能够轻松地从Unix切换到GNU系统,并且享受到自由软件所带来的所有益处,但它不是Unix,同时,通过这样的命名方式也强调了GNU项目旨在提供一种全新的、基于自由软件原则的计算环境。

GNU(Gnu’s Not Unix)是一个自由软件项目,由计算机程序员理查德·马修·斯托曼于1983年发起,旨在创建一套完全自由且功能齐全的操作系统。这个名字“GNU”是递归缩写,强调该项目的目标不是简单复制Unix,而是创造一个与Unix兼容但不包含任何Unix的专有代码的新操作系统。

GNU项目的愿景是基于自由软件理念,允许用户查看、修改和重新分发源代码,不受商业限制或版权制约。这个理念后来发展成为自由软件运动的核心内容,通过GNU通用公共许可证(GPL)等手段来保障软件的自由性。

GNU项目提供了大量基础工具和软件库,这些构成了现代Linux发行版的核心组成部分,例如:

GNU C编译器(GCC)
GNU汇编器(as)
GNU二进制实用工具(如ar、ld、nm、objdump等)
GNU Bash shell
GNU Core Utilities(coreutils,包括mv、cp、ls等基本命令)
以及其他众多的编程语言解释器、编译器和开发工具

在技术上,GNU计划包括了一系列工具和库:

  • 内核:原计划中的GNU内核称为Hurd,它建立在微内核架构之上,并使用Mach微内核作为其底层核心服务提供者。然而,直至今日,Hurd的发展并未达到广泛应用的程度,相反,Linux内核由于其稳定性和成熟度,在大多数GNU/Linux发行版中扮演了核心角色。

  • 实用程序和开发工具:GNU提供了众多基础工具和编译器,如GCC(GNU Compiler
    Collection,包括C/C++/Fortran等语言编译器),GNU Make构建工具,以及Bash
    Shell等。此外,还包括了文本编辑器Emacs、调试器GDB、编程辅助工具autoconf/automake等一系列开发者工具。

  • 核心库和实用程序集:如glibc(GNU C Library),它是许多GNU/Linux系统上的标准C库;coreutils包含了大量日常使用的命令行工具,如ls、cp、mv等。

  • 桌面环境:GNOME和KDE是基于GNU/Linux系统的两个主要桌面环境,虽然它们并非GNU项目的直接组成部分,但它们依赖于大量的GNU软件并遵循相同的自由软件原则。

总的来说,尽管GNU Hurd内核没有得到广泛采用,但GNU项目提供的软件构成了现代大部分Linux发行版的基础。这些发行版通常将Linux内核与GNU工具链、实用程序和其他自由软件结合在一起,形成了所谓的“GNU/Linux”操作系统。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值