AT&T 与贝尔实验室

在了解 AT&T 与贝尔实验室之前,我们先介绍一个人——亚历山大·格拉汉姆·贝尔,贝尔实验室就是以他的名字命名的。在历史上,虽然对于贝尔是电话的发明者这一说法存在争议,但是世界上第一台可用电话机的专利的确是由他获得的。

AT&T 也是源于贝尔与他的两位朋友成立的贝尔电话公司。贝尔电话公司在 1879 年 3 月更名为国家贝尔电话公司,第二年 3 月再次更名为美国贝尔电话公司。

得益于美国贝尔电话公司在 1880 年启动的一个商业计划,1885 年 3 月 3 日,美国电话电报公司(AT&T Corporation)在纽约成立

AT&T 原为 American Telephone & Telegraph 的首字母缩写,仅仅表示美国电话电报公司,但是随着历史的发展以及各种商业行为的运作,AT&T 俨然已经成为了美国的一家巨头企业,而美国电话电报公司仅仅是 AT&T 公司旗下的一个简称为“AT&T”的子公司。也正因如此,在维基百科中,关于 AT&T 共有两个词条,分别是始于 2005 年的 AT&T 以及成立于1885年的 AT&T

在 1925 年 1 月 1 日,时任 AT&T 总裁的华特·基佛德收购了西方电子公司的研究部门,并成立了一个名叫“贝尔电话实验室”的独立实体。AT&T 与西方电子公司各持股50%。后来,“贝尔电话实验室”改名为“贝尔实验室”。目前,贝尔实验室是隶属于诺基亚的一个子公司。

UNIX 的诞生

UNIX 的诞生源于由贝尔实验室、美国通用电气公司以及麻省理工学院在 1964 年开始共同研发的一个运行在大型机上(通用电气公司的 GE-645 大型机)的分时操作系统——Multics 。

在开发 Multics 系统的过程中,AT&T 公司虽然投入巨大,而且抽调了贝尔实验室里众多优秀的技术人员专心于此项目(这其中包括后来享誉世界的肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)),但是由于该项目的目标过于宏大,其进展缓慢,AT&T 还是在 1969 年决定退出这个项目。另一方面,通用电气与麻省理工学院仍继续开发 Multics,并最终作为商业产品销售。

虽然 AT&T 官方宣布退出了 Multics 系统的开发,但是一些机器仍然被保管在贝尔实验室,肯·汤普逊也仍在 GE-645 大型机上开发软件,这其中就包括一款名为《星际旅行》(space travel)的游戏。由于当时实验室的计算机资源使用昂贵、游戏运行缓慢,汤普逊就想着能有一个更好的解决方案,于是向贝尔实验室申请购买一台 DEC-10 大型机,以从事新操作系统的开发。不幸的是,汤普逊的请求被驳回,但是汤普逊发现周围的部门有一台老旧且很少被使用的 PDP-7小型机 可以利用起来。在丹尼斯·里奇的帮助下,汤普逊使用 PDP-7 的汇编语言重写了这个游戏,并使其在 PDP-7 上运行起来。这次的经历加上 Multics 项目的经验,促使汤普逊开始在 PDP-7 上研究如何开发新系统。

1969 年,汤普逊提出了在 PDP-7 上开发一个新的操作系统的计划。Multics 的原有成员,加上 Rudd Canady,都投入到这个计划中来。在团队的合作下,Multics 的许多功能都被采纳,重新实现,最终做出了一个分时多任务操作系统,成为第一版 UNIX 。因为 Multics 来自“MULTiplexed Information and Computing System”的缩写,而且在1970年,那部 PDP-7 却只能支持两个用户,彼得·纽曼戏称他们的系统其实是:“UNiplexed Information and Computing System”,缩写为“UNICS”。于是这个项目被称为UnICSUniplexed Information and Computing System)。

因为PDP-7的性能不佳,肯·汤普逊与丹尼斯·里奇决定把第一版UNIX移植到 PDP-11 的机器上,开发第二版 UNIX 。在性能提升后,真正可以提供多人同时使用,布莱恩·柯林汉(《C 语言程序设计语言》,即 K&R 的作者之一)提议将它的名称改为 UNIX

第一版的 UNIX 是用 PDP-7 汇编语言编写的,一些应用是由叫做 B 语言 的解释型语言和汇编语言混合编写的。在进行系统编程时不够强大,所以汤普逊和里奇对其进行了改造,并于 1972 年共同发明了 C 语言。1973 年汤普逊和里奇用 C 语言重写了 UNIX,形成 第三版 UNIX。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以汤普逊和里奇此举是极具大胆创新和革命意义的。用 C 语言编写的 UNIX 代码简洁紧凑、易移植、易读、易修改,为此后 UNIX 的发展奠定了坚实的基础。

UNIX 的发展分支

原始版本

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

从1975年开始,UNIX 4、5、6版本相继发布。到了 1978 年,已经有大约 600 台计算机在运行 UNIX 。

1979年,版本7 发布,这是最后一个广泛发布的研究型 UNIX 版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。此后这个方向上的研究导致了九号计划的出现,这是一个新的分布式操作系统。

以上这些版本都是由贝尔实验室的计算科学研究中心不断开发释出的 UNIX 研究版本,算是 UNIX 的原始版本,此版本终止于 1990 年的第 10 版。

商用版本:AT&T 分支

在意识到 UNIX 的商业价值之后,1982 年,AT&T 基于原始版本 7 开发了 UNIX System III 的第一个版本,这是一个商业版本仅供出售,其发布版本也不再包含源代码。

1983年,UNIX System V 的第 1 个版本正式发布。System V 系统一共发布了 4 个版本,其中第 4 个版本 System V Release 4,简称为 SVR4,是最成功的版本,它成为很多 UNIX 共同特性的源头。

自由版本:BSD分支

有关 BSD 的相关信息,可参阅维基百科:BSD