# 1.2-GNU&Linux 历史

2023年3月15日16分钟阅读

- FormalSciences/ComputerScience
- OperatingSystem/Linux

## 概述

GNU/Linux 是一个开源操作系统和 IT 基础架构平台。Linux 内核由 Linus Torvalds 于 1991 年构思设计而成，最初这只是他的一项兴趣爱好。如今，GNU/Linux 不仅是公共互联网服务器上最常用的操作系统，还是速度排名前 500 的超级电脑上使用的唯一一款操作系统；同时，GNU/Linux 也广泛地运用在智能移动设备和嵌入式终端上。

GNU/Linux 也是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证（GPL），任何个人和机构都可以自由地使用 GNU/Linux 的所有底层源代码，也可以自由地修改和再发布。大多数 GNU/Linux 系统还包括像提供 GUI 的 X Window 之类的程序。

如果提及 GNU/Linux 就不得不了解 UNIX 与 GUN 计划，以及它们之间是如何相爱相杀、互相成就的。

## Unix 的诞生和演变

UNIX
（非复用信息和计算机服务，Uniplexed Information and Computing Service，UnICS）操作系统，是一个强大的多用户、多任务操作系统，支持多种处理器架构，按照操作系统的分类，属于分时操作系统，最早由肯·汤普逊、丹尼斯·里奇和道格拉斯·麦克罗伊于 1969 年在 AT&T 的贝尔实验室开发。

目前它的商标权由国际开放标准组织所拥有，只有符合单一 UNIX 规范的 UNIX 系统才能使用 UNIX 这个名称，否则只能称为类 UNIX（UNIX-like）。

1965 年贝尔实验室计划要创建一套多用户、多任务、多层次（multi－user、multi－processor、multi－level）的 MULTICS 操作系统。贝尔实验室参与了这个操作系统的研发，但因为开发速度太慢，1969 年贝尔实验室决定退出这个计划。贝尔实验室的工程师，肯·汤普逊和丹尼斯·里奇，在此时自行开发了 Unix。

1974 年，汤普逊和里奇合作在 ACM 通信上发表了一篇关于 UNIX 的文章，这是 UNIX 第一次出现在贝尔实验室以外。此后 UNIX 被政府机关，研究机构，企业和大学注意到，并逐渐流行开来。

在此后的 10 年，Unix 在学术机构和大型企业中得到了广泛的应用，当时的 UNIX 拥有者 AT&T 公司以低廉甚至免费的许可将 Unix 源码授权给学术机构做研究或教学之用，许多机构在此源码基础上加以扩展和改进，形成了所谓的“Unix 变种”，这些变种反过来也促进了 Unix 的发展，其中最著名的变种之一是由加州大学柏克莱分校开发的伯克利软件套件（BSD）产品。

后来 AT&T 意识到了 Unix 的商业价值，于 1983 年发布 Unix 第一个商业版本 System V。便不再将 Unix 源码授权给学术机构，并对之前的 Unix 及其变种声明了著作权权利。故开始了一场持久的著作权官司，直至 AT&T 将自己的 Unix 系统实验室卖掉。

新接手的 Novell 采取了一种比较开明的做法，允许柏克莱分校自由发布自己的 Unix 变种，但是前提是必须将来自于 AT&T 的代码完全删除，于是诞生了 4.4 BSD Lite 版，由于这个版本不存在法律问题，**4.4 BSD Lite 成为了现代柏克莱软件包的基础版本。**所以从这个角度上，4.4 BSD 又是所有自由版本 Unix 的基础，

后续 BSD 在发展中也逐渐派生出 3 个主要的分支：FreeBSD
、OpenBSD
和 NetBSD
。

外部链接：UNIX的完整历史

## GNU 项目的历史和目标

1983 年，AT&T 发布了 Unix 最新版 system V，这是一个商业化版本，付费才能使用，并且不得传播源码。正是因为看到了 Unix 被商业化，所以 1983 年 9 月 27 日由理查德·斯托曼在麻省理工学院公开发起 GNU 计划。

GNU 计划
的基本目标和一贯目标是提供一个和 Unix 兼容的 100% 自由软件的操作系统。不是 95%、也不是 99.5%、而是 100% 自由。这个系统的名字叫 GNU，是 GNU’s Not Unix 的首字母递归缩写——这是对 Unix 的技术思想致敬的一种方法，同时表达 GNU 有所不同。从技术上说，GNU 很像 Unix。但是它不同于 Unix，GNU 给予其用户自由。

1985 年，理查德·斯托曼创立了自由软件基金会来为 GNU 计划提供技术、法律以及财政支持。到了 1990 年，GNU 计划已经开发出的软件包括了一个功能强大的文字编辑器 Emacs、C 语言编译器 GCC 以及大部分 UNIX 系统的程序库和工具。唯一依然没有完成的重要组件，就是操作系统的内核（称为 HURD）。

**1991 年，Linus Torvalds 编写出了与 UNIX 兼容的 Linux 操作系统内核并在 GPL 下发布。**GNU/Linux 之后在网上广泛流传。1992 年，Linux 与其他 GNU 软件结合，完全自由的操作系统正式诞生。许多程序员参与了 Linux 的开发与修改，也经常将 Linux 当成开发 GNU 计划软件的平台。该操作系统往往被称为“GNU/Linux”或简称 Linux。

但 Linux 本身不属于 GNU 计划的一部分，GNU 计划自己的内核 Hurd 依然在开发中，目前已经发布 Beta 版本。

## Linux 的诞生和发展

1991 年，Linus Torvalds 在赫尔辛基大学上学时，对操作系统很好奇。他对 MINIX 只允许在教育上使用很不满（在当时 MINIX 不允许被用作任何商业使用），于是他便开始写他自己的操作系统，这就是后来的 Linux 内核。

> Linus Torvalds 曾笑言：我要是知道有 BSD，那我就不开发 Linux 了。

Linux
的标志和吉祥物是一只名字叫做 Tux 的企鹅，标志的由来有一说是因为 Linus 在澳洲时曾被一座动物园里的企鹅咬了一口，便选择企鹅作为 Linux 的标志，但更容易被接受的说法是：企鹅代表南极，而南极又是全世界所共有的一块陆地。这也就代表 Linux 是所有人的 Linux。

1994 年 3 月，Linux1.0 版正式发布，Marc Ewing 成立 Red Hat 软件公司，成为最著名的 Linux 经销商之一。

今天由 Linus Torvalds 带领下，众多开发人员共同参与开发和维护 Linux 内核。理查德·斯托曼领导的自由软件基金会，继续提供大量支持 Linux 内核的 GNU 组件。一些个人和企业开发的第三方的非 GNU 组件也提供对 Linux 内核的支持，这些第三方组件包括大量的作品，有内核模块和用户应用程序和库等内容。

Linux 发行版指的就是通常所说的 Linux 操作系统，它一般是由一些组织、团体、公司或者个人制作并发行的。

Linux 内核主要作为 Linux 发行版的一部分而使用。通常来讲，一个 Linux 发行版包括 Linux 内核，以及将整个软件安装到电脑上的一套安装工具，还有各种 GNU 软件，和其他的一些自由软件，在一些 Linux 发行版中可能会包含一些专有软件。

发行版为许多不同的目的而制作，包括对不同电脑硬件结构的支持，对普通用户或开发者使用方式的调整，针对实时应用或嵌入式系统的开发等等。目前，超过三百个发行版被积极的开发，最普遍被使用的发行版有大约十多个。较为知名的有 Debian、Ubuntu、Fedora、CentOS、Arch Linux 和 openSUSE 等。

## GNU/Linux 的特点和优势

### 跨平台的硬件支持

由于 Linux 的内核大部分是用 C 语言编写的，并采用了可移植的 Unix 标准应用程序接口，所以它支持如 i386、Alpha、AMD 和 Sparc 等系统平台，以及从个人电脑到大型主机，甚至包括智能移动设备和嵌入式设备在内的各种硬件。

外部链接：开源操作系统比较

#### 支持的平台

#### 支持的硬件

#### 支持的网络

#### 网络技术

#### 支持的文件系统

#### 支持的文件系统特性

#### 安全特性

### 低资源占用下良好的稳定性

Linux 内核的源代码是以标准规范位数的计算机来做的最佳化设计，既可确保其系统的稳定性，也能使在系统上运行的要求比 Windows 或 macOS 低。有些发行版适用于可追溯到 Pentium 系列的 CPU，另一些发行版则仅需要 1 GB 以下的 RAM。正因为 Linux 的低资源占用和稳定，才使得一些安装 Linux 的主机像 Unix 机一样常年不关而不曾宕机。

### 高效的文件系统

Linux 秉持了「一切皆文件」的 Unix 哲学，几乎兼容了所有市面上主流的文件系统；它们不但可以对文件设置权限，实施完全的保护，而且可以达到「越用越整齐」，「越用碎片越少」；使用 Linux 完全不需要什么「管家」或者「大师」。

### 可靠的安全性

Linux 系统的核心代码是开源的，对用户完全透明，这意味着你的 Linux 系统漏洞更少。同时，由于 Linux 有着各种各样的不同版本，这也提高了被攻击的难度。你可以在选择更新时通过签名检查进行严格的细粒度控制，大多数的发行版在系统更新时都默认强制安全检查。

此外，它采取了很多包括读写权限控制、带保护的子系统、审计跟踪、核心授权的安全措施，这为网络环境中的用户提供了安全保障。当一个病毒在 Linux 下被恶意发布，几个小时后所有的发行版都已经接种了疫苗。你可能很难找到那些每天都提供更新的单一主流操作系统，但是这样的 Linux 发行版却有很多。

### 完善纯净的软件包管理机制

大部分 Linux 发行版都具有特定的软件包管理工具（类似于无需注册帐号的 App Store），具有易于安装，更新和卸载的特性；并起到了保护配置文件的作用，不需要处理依赖关系也不容易对系统造成污染。同时由于其开源的特点，相较 Windows 和 macOS 里你那些平时用不到却会在每次大版本升级后「卷土重来」的预置应用，在 Linux 里你可以卸载一切不想安装在系统里的预置应用。

### 随心所欲定制 UI

在 Linux 系统中，你可以对系统功能进行任意更改。 Linux 生态系统中的核心项目之一就是桌面环境——它是一些由基础的用户程序和可视化元素组成的一个集合，比如状态栏和启动器，这些元素构成了用户与计算机的一个交互界面。在 Linux 系统中，用户都可以随意更换他们喜欢的桌面环境。

### 社区的支持

Linux 系统拥有一个团结且友好型的社区。由于 Linux 在桌面系统是一个相对小众的桌面操作系统，仅占有 3% 左右的市场份额，因此，Linux 社区更希望有更多的潜在用户加入进来。Linux 系统有很多的用户论坛，尤其是对新手比较友好的论坛，它包括非常丰富且全面的知识来帮助用户解决一些基本的系统问题。很多高级用户更倾向于定制 Linux 系统，因此那些 Linux 发行版都拥有非常非常详尽维基文档，以指导用户完成高级的系统应用项目。

### 开源

因为开源的特性，多数 Linux 发行版都会去中心化在全球部署镜像，平时在 Windows 和 macOS 的更新下载不稳定？在 Linux 设置中更换为本地的镜像源便无须担心。