共计 3714 个字符,预计需要花费 10 分钟才能阅读完成。
今天小编要跟大家分享的文章是关于 Linux 的发展史你了解多少? 相信说到 Linux 大家并不陌生,在流行的用法中,“Linux”通常是指围绕 Linux 内核的一组操作系统发行版。但从严格意义上讲,Linux 仅指内核本身的存在。为了构建一个完整的操作系统,Linux 发行版通常包括来自 GNU 项目和其它源的工具和库。最近,越来越多的开发人员使用 Linux 来构建和运行移动应用程序; 它还在开发价格合理的设备 (如 Chromebook) 中发挥了关键作用,Chromebook 在内核上运行操作系统。在一般的云计算和服务器环境中,出于某些实际原因,Linux 是一种流行的选择:
· 它的发行版仍然是最新的,并得到其他开发者社区的支持。
· 它可以在各种硬件上运行,并将与预先存在的系统一起安装(在本地开发环境中是一个有用的特性)。
· 它支持从预存在的存储库进行集中式软件安装。
· 它的资源需求很低。
· 开发人员为服务器构建应用程序生态系统和工具时通常会被高度重视,从而实现高级别的兼容性。
· 它支持对操作系统进行必要的更改。
Linux 也可以追溯到自由和开源软件运动,因此一些开发人员会出于道德和实际原因选择它:
· 对于一些开发人员来说,使用 Linux 代表了对可访问性和表达自由的承诺。
· Linux 社区也对一些开发人员具有吸引力:当他们有问题时,他们可以查询该社区产生的资源,或直接联系到许多活跃的维护者之一。
为了理解 Linux 在开发社区 (及其他人) 中的角色,本文将通过 Unix 概述 Linux 的简史,并讨论一些流行的 Linux 发行版。那么关于 Linux 的发展史你了解多少呢? 下面我们一起来看一看吧~
一、源自 Unix
Linux 起源于 Unix 和 Multics,这两个项目都以开发强大的多用户操作系统为目标。
Unix 之源起
Unix 是在贝尔实验室计算机科学研究中心的 Multics 项目迭代中开发的。在贝尔实验室和其他地方从事 Multics 工作的开发人员对构建具有单级存储、动态链接的多用户操作系统 (其中正在运行的进程可以请求将另一个段添加到其地址空间,使其能够执行该段上的代码) 和分层文件系统很感兴趣。
贝尔实验室于 1969 年停止资助 Multics 项目,但包括 Ken Thompson 和 Dennis Ritchie 在内的一组研究人员继续致力于该项目的核心规则。在 1972 年 3 月,他们决定用 C 语言重写该系统,这使得 Unix 具有独一无二的可移植性:与其他现代操作系统不同,它可以独立于硬件进行迁移。
贝尔实验室 (后来的 AT&T) 的研究和开发继续进行,同时,Unix 系统实验室与 Sun Microsystems 合作开发 Unix 版本,则将被商业化 Unix 供应商广泛采用。与此同时,学术界继续进行研究,最知名的是加州大学伯克利分校的计算机系统研究小组。该小组发布了 Berkeley Software Distribution(BSD),它激发了一系列操作系统,其中许多操作系统至今仍在使用。有历史记录的两个 BSD 发布是 NeXTStep:NeXT 开创的操作系统,它成为 macOS 及其他产品的基础;MINIX:是一个教育版操作系统,它在 Linus Torvalds 开发 Linux 时形成了相当的基础。
二、Unix 的主要特性
Unix 以清晰、可移植性和同时性原则为导向。
· 清晰性:Unix 的模块化设计允许函数以有限且定义好的方式运行。它的文件系统是统一的,层次化的,简化了数据的操作。与以前的一些系统调用不同,Unix 实现了数百次 (而不是数千次) 的系统调用,每一次调用的目的都是简单明了的。
· 可移植性: 通过用 C 语言编写 Unix,贝尔实验室的团队将 Unix 定位为广泛使用和采用。C 被设计为具有对内存的低级访问,最小的运行时支持,以及语言和机器指令之间的有效关系。以 C 语言为基础意味着 Unix 是可适应的,并且易于在各种硬件上运行。
· 同时性:Unix 内核是为支持多个用户和工作流的目标 (由 Multics 项目共享) 而定制的。内核空间与 Unix 中的用户空间不同,后者允许多个应用程序同时运行。
三、Linux 的演变
Unix 给开发人员提出了重要的问题,但它在最早期的迭代版本中也保持了私有性。因此,其历史的下半场是关于开发人员如何在其中工作以及针对它创建免费并且开源替代品的故事。
开源实验
Richard Stallman 是开发者中的核心人物,他们受到启发、创造了 Unix 的非私有替代版。在麻省理工学院人工智能实验室工作期间,他开始研究 GNU 项目 (递归的说法“GNU’s ot Unix!”),最终于 1984 年离开实验室,因此他可以将 GNU 组件作为自由软件进行分发。GNU 内核,称为 GNU HURD,成为自由软件基金会(FSF) 的焦点,该基金成立于 1985 年,目前由 Stallman 领导。
与此同时,另一位开发人员正在开发一种免费的 Unix 替代品: 芬兰本科生 Linus Torvalds。1991 年 8 月 25 日,在对 MINIX 的许可感到失望之后,Torvalds 向 MINIX 用户群宣布,他正在开发自己的操作系统,类似于 MINIX。虽然最初是使用 GNU C 编译器在 MINIX 上开发的,但是 Linux 内核很快成为一个独特的项目,其核心是开发人员,他们在 1994 年与 Torvalds 一起发布了 1.0 版本的内核。
Torvalds 的内核一直使用 GNU 代码,包括 GNU C 编译器,许多 Linux 发行版都使用 GNU 组件。Stallman 一直在游说将“Linux”一词扩展到“GNU/Linux”,他认为这个词既包含了 GNU 项目在 Linux 开发中的角色,也包含了孕育 GNU 项目和 Linux 内核的基本理念。今天,“Linux”经常被用来表示 Linux 内核和 GNU 元素的存在。与此同时,许多手持设备和智能手机上的嵌入式系统通常使用 Linux 内核,很少甚至没有 GNU 组件。
Linux 的核心特性
尽管 Linux 内核从 Unix 那里继承了很多目标和属性,但是从以下几个方面考量的话,和早期系统还是有许多不同的地方:
· Linux 的核心组件 是内核,它和其他的操作系统组件完全独立。这就意味着 Linux 可以通过其他来源 (诸如 GNU) 借用所需要任何的组件来组成一个完整的操作系统。
· Linux 是免费的、开源的。由开发人员社区共同维护的内核通过 GNU 的通用公共许可证 (这是自由软件基金会基于 GNU 项目的一个分支) 进行授权,并且可以自由下载和修改。GPL 规定基于原始软件的衍生产物必须遵循和保留原始软件的许可条款内容。
· Linux 有一个类似于 Unix 的单片内核,但是 Linux 也可以根据需要动态地加载和卸载内核代码。
· 和传统的 Unix 实现不同的是,Linux 支持对称多处理架构(SMP)。这意味着单个操作系统可以访问多个共享主存的处理器以及所有的输入输出设备。
· Linux 的内核是抢占式的,这是 Linux 和 Unix 之间的另一个差异。这意味着调度器可以在驱动程序或内核的其他部分在运行时强制进行切换。
· Linux 没有线程和普通进程的区分。
· Linux 支持命令行界面(CLI),除此之外,也可以支持图形用户界面(GUI)。
四、流行的 Linux 发布版
开发者目前维护了诸多流行的 Linux 发行版。其中存在时间最长的是 Debian,它是一个免费的开源发行版,拥有 50,000 个软件包。Debian 启发了另一个流行的发行版 Ubuntu,由 Canonical Ltd 所资助。Ubuntu 使用 Debian 的 deb 包格式和包管理工具,并且 Ubuntu 开发者将改动推回到上游的 Debian。
Red Hat,Fedora 和 CentOS 之间存在着类似的关系。Red Hat 在 1993 年创建了 Linux 发行版,十年后将其分割为 Red Hat Enterprise Linux 和 Fedora,后者是一个基于社区的操作系统,它使用了 Linux 内核和来自 GNU Project 中的元素。Red Hat 还与 CentOS Project 建立了合作关系,这是另一个流行的用于 Web 服务器的 Linux 发行版。然而这种关系不包括付费维护。与 Debian 一样,CentOS 由开发者社区维护的。
结论
在本文中,我们讨论了 Linux 根源于 Unix 中的特性以及它自身的一些定义特性。如果您有兴趣了解更多关于 Linux 和 Unix 变体 (包括 FreeBSD) 的历史,那么我们的 FreeBSD 系列可能会是很好的开始。另一个选项可以考虑下我们的 Linux 使用导学系列。您还可以查看 Linux 文件系统布局的介绍、关于如何使用 find 和 locate 命令在 Linux VPS 中搜索文件的讨论,或者关于命令行中正则表达式的介绍。
以上就是小编今天为大家分享的关于关于 Linux 的发展简史你了解多少? 的文章,希望本篇文章能够对你有所帮助,想要了解更多 Linux 相关知识记得关注马哥 Linux 培训 官网。
英文:Kathleen Juell,翻译:开源中国
www.oschina.net/translate/brief-history-of-linux