介绍
在日常使用中,«Linux»通常指的是基于Linux内核构建的一系列操作系统发行版。但更准确地说,Linux仅指内核本身。为了构建完整的操作系统,Linux发行版通常会包含来自GNU项目和其他来源的工具和库。近年来,越来越多的开发者开始使用Linux来构建和运行移动应用程序;该操作系统在Chromebook等经济型设备的开发中也发挥了重要作用,这些设备运行的操作系统正是基于Linux内核。在云计算和服务器环境中,Linux由于某些运维方面的优势而成为热门选择:
- 其发行版均为最新版本,并得到其他开发者社区的支持。.
- 该操作系统可在多种硬件上运行,并且可以与现有系统一起安装(这在本地开发环境中是一个有用的功能)。.
- 支持从预构建的软件仓库集中安装软件。.
- 它对资源的需求量很低。.
- 当开发者构建编程生态系统和服务器所需的工具时,Linux 通常是首选,从而带来很高的兼容性。.
- 它允许您对操作系统行为进行必要的更改。.
Linux 也起源于自由开源软件运动,这也是一些开发者出于道德和运营原因使用它的原因:
- 对于一些开发者来说,使用 Linux 意味着对开放获取和言论自由的承诺。.
- Linux 社区对一些开发者也很有吸引力:当他们遇到问题时,可以参考该社区提供的资源,或者直接联系活跃的维护者。.
为了解 Linux 在开发者社区(及其他领域)中的作用,本文简要概述了 Linux 通过 Unix 发展的历史,并探讨了一些流行的 Linux 发行版。.
Unix 的根源
Linux 起源于 Unix 和 Multix,这两个项目旨在开发一个强大的多用户操作系统。.
Unix 的起源
Unix 起源于贝尔实验室计算机科学研究中心的 Multix 项目。贝尔实验室和其他地方的 Multix 开发人员致力于构建一个具有单级存储、动态链接(其中运行中的进程可以请求系统在其地址空间中添加另一个段,以便它可以执行该段中的代码)和分层文件系统的多用户操作系统。.
贝尔实验室于1969年停止了对Multix项目的资助,但包括肯·汤普森和丹尼斯·里奇在内的一组研究人员继续在项目的原始原理基础上进行研究。1972-73年,他们决定用C语言重写该系统,这使得Unix具有独特的移植性:与其他当时的操作系统不同,Unix可以从其硬件迁移并保持运行。.
然而,贝尔实验室(后来的AT&T)的研发工作仍在继续,其Unix系统实验室与Sun Microsystems合作开发了多个Unix版本,这些版本被众多商业Unix厂商广泛采用。与此同时,学术界的研究也在持续进行,尤其是加州大学伯克利分校的计算机系统研究小组。该小组开发了伯克利软件发行版(BSD),BSD启发了众多操作系统的诞生,其中许多至今仍在使用。两个具有历史意义的BSD发行版包括NeXTStep和MINIX。NeXTStep是由NeXT公司率先开发的操作系统,后来成为macOS和其他产品的基础;MINIX则是一款教育操作系统,它成为Linus Torvalds开发Linux时的参考标准。.
Unix的主要特性
Unix 注重清晰性、可移植性和并发性原则。.
- 解决: Unix 的模块化设计允许以有限且特定的方式执行函数。其文件系统统一且分层,简化了数据操作。与一些早期操作系统不同,Unix 只实现了数百个(而非数千个)系统调用,每个调用都有其直接而明确的目的。.
- 可移植性: 贝尔实验室团队用 C 语言编写 Unix 系统,为 Unix 的广泛应用和普及奠定了基础。C 语言的设计理念是提供浅层内存访问、最小化的运行时支持,以及语言与机器指令之间高效的交互。Unix 基于 C 语言,这意味着该操作系统具有很强的适应性,能够轻松运行在各种硬件上。.
- 同步: Unix 内核是专门设计用于支持多用户和多工作流程的(与 Multix 项目合作完成)。Unix 内核空间与用户空间截然不同,允许多个程序同时运行。.
Linux 的演变
Unix 为开发者提出了许多重要问题,但其早期版本仍然是专有的。因此,Unix 历史的下一篇章,讲述的是开发者如何在 Unix 框架内以及与之对抗,最终催生出自由开源的替代方案。.
开源实验
理查德·斯托曼是众多致力于创建非专有Unix替代方案的开发者中的核心人物。在麻省理工学院人工智能实验室工作期间,他开始着手GNU项目(GNU意为“GNU不是Unix!”),并最终于1984年离开实验室,将GNU的组件作为自由软件发布。GNU内核,即GNU HURD,成为了自由软件基金会(FSF)的核心,该基金会成立于1985年,至今仍由斯托曼领导。.
与此同时,另一位开发者正在开发一款免费的Unix替代方案:芬兰本科生林纳斯·托瓦兹(Linus Torvalds)。由于对MINIX的许可协议感到不满,托瓦兹于1991年8月25日向MINIX用户组宣布,他正在开发一款与MINIX类似的操作系统。尽管Linux内核最初是在MINIX上使用GNU C编译器开发的,但它很快发展成为一个独特的项目,其开发团队于1994年发布了1.0版本。.
Linux 的主要特性
虽然 Linux 内核继承了 Unix 的许多目标和特性,但它与之前的系统在以下几个方面有所不同:
- Linux 的核心组件是内核,内核的开发独立于其他操作系统组件。这意味着 Linux 使用不同的源代码(例如 GNU)来构建完整的操作系统。.
- 它是一款自由开源的操作系统。其内核采用 GNU 通用公共许可证(GPL,由自由软件基金会 (FSF) 在 GNU 项目上开发)授权,可供下载和修改。GPL 规定,衍生作品必须保留原软件的许可条款。.
- Linux 拥有类似 Unix 的单内核,但可以动态加载和卸载内核代码。.
- 与传统的 Unix 实现不同,该操作系统支持多处理器 (SMP)。.
- 它的内核是可预测的,这与 Unix 的另一个区别。.
- 它的内核不区分线程和普通进程。.
- 该操作系统具有命令行界面 (CLI),也可以具有图形用户界面 (GUI)。.
流行的Linux发行版
如今,许多流行的 Linux 发行版都由开发者维护。其中,Debian 是最古老的发行版之一,它是一个拥有 5 万个软件包的免费开源发行版。Debian 启发了另一个流行的发行版 Ubuntu,后者由 Canonical Ltd. 资助。Ubuntu 使用 deb 软件包格式和 Debian 的软件包管理工具,Ubuntu 的开发者也会为 Debian 贡献代码。.
Red Hat、Fedora 和 CentOS 之间也有类似的联系。Red Hat 于 1993 年创建了自己的 Linux 发行版,十年后将其业务拆分为 Red Hat Enterprise Linux 和 Fedora。Fedora 是一个基于社区的操作系统,它使用 Linux 内核和 GNU 项目的组件。.
结果
本文介绍了 Linux 的 Unix 起源及其一些主要特性。如果您有兴趣了解更多关于 Linux 和 Unix 衍生版本(包括 FreeBSD)的历史,不妨从我们关于 FreeBSD 的系列文章入手。您也可以查看我们的 Linux 入门系列文章。.









