Linux 和其他软件项目
在上周的文章中,我谈到了 Linux 的起源。从本周开始,我想扩展这个开端,谈谈 Linux 的组成部分以及 Linux 运动,这些使得 Linux 成为今天的样子,以及它未来的发展方向。本周的专栏和节目是关于其他哪些努力促成了我们现在称之为 Linux 的产品。
上周,我谈到了 UNIX 和 Minix 如何影响了 Linus 最初的工作。这些操作系统设定了最初的方向,但它们并不是唯一的影响因素。其他因素包括自由软件基金会 (FSF) 的 GNU 项目、加州大学伯克利分校开发的类 UNIX 代码以及 IEEE 的 POSIX 标准。此外,功能强大且价格低廉的计算机硬件的可用性也肯定有助于确定方向。
FSF 的 GNU 项目启动的目的是为了创建一个免费的、类 UNIX 的操作系统,其中包含一整套开发工具和实用程序。虽然操作系统本身 (HURD) 从未真正成功,但相关的工具却做出了重大贡献,首先是对 UNIX 领域本身,然后是对 Linux。
例如,GCC,GNU C 编译器,多年来已被许多计算机系统(包括惠普和 Sun 的系统)采用或提供。Emacs,一个文本编辑器,有些人将其用作他们的全部工作环境,也已提供给所有 UNIX 和许多非 UNIX 计算机系统。
基于 UNIX 的系统及其衍生系统包括数百个实用程序。它们执行通用文件管理功能,编辑和操作数据文件,并且通常为系统用户提供许多功能。这些程序是许可产品——不能包含在像 Linux 这样的免费操作系统中。为了将 Linux 操作系统变成 Linux,一个完整的发行版,采用了 GNU 实用程序。
除了 GNU 实用程序之外,加州大学伯克利分校还开发了大量实用程序。这些实用程序中的许多最初是基于 AT&T 的 UNIX 代码,但这些程序的最新版本不包含 AT&T 代码。这使得将这些程序包含在 Linux 发行版中成为可能。有很多程序,但最明显的是伯克利打印假脱机系统和 sendmail 邮件传输代理。
此外,还有基于伯克利的操作系统。三种版本分别是 FreeBSD、NetBSD 和 OpenBSD。来自 BSD 系统的一些代码和许多想法也被包含在 Linux 中。
当 UNIX 被认为是唯一真正的操作系统时,出现了 vendor 独立标准的想法。毕竟,UNIX 是 AT&T 的产品。无论您购买哪种基于 UNIX 的计算机系统,许可都追溯到 AT&T。
POSIX 标准,是 IEEE 的产品,是一组定义事物外观的标准——而不是它们如何实现的。例如,有一个针对命令解释器或 shell 的标准。它指定了用户看到的关于功能方面的内容。然后,软件开发人员可以自由开发提供指定功能的 shell。
POSIX 合规性变得非常重要,以至于除了所有 UNIX 供应商之外,其他操作系统供应商也在尝试使其操作系统符合标准。这包括 Digital 的 VMS 系统和微软的 NT,每个系统都作为附加组件实现。
POSIX 合规性对于所有供应商来说都不是完美的,但 Linux 最接近任何供应商,并且比大多数供应商都更接近。这意味着将为在任何 UNIX 系统上运行而编写的应用程序重新部署到基于 Linux 的系统上非常容易。
影响 Linux 发展的最后一个因素是新型计算机硬件的功能。虽然 UNIX 诞生和发展于每秒 10 个字符的电传打字机终端的时代,但 Linux 是最近才出现的。因此,它没有 UNIX 包含的许多包袱。
此外,由于 Linux 的设计模型是开放的(任何人都可以看到 Linux 系统中的代码外观,并且可以为开发工作做出贡献),因此它的发展速度比封闭系统快得多。这意味着随着新技术的出现,可以开发和测试代码以支持新技术。
缺点是微软与硬件开发商合作,因此他们会在 Linux 市场之前了解硬件。然而,由于人们愿意随时在各种硬件上测试软件,Linux 社区可以快速调试新软件的驱动程序。
电子邮件:ljeditors@ssc.com