四十年前的夏天,一个程序员坐下来,在一个月内淘汰什么将成为有史以来的软件最重要的部分之一。
1969年8月,美国电话电报公司贝尔实验室(AT&T Bell Laboratories)的程序员肯·汤普森(Ken Thompson)把妻子和年幼的儿子缺席一个月视为一个机会,把他的新操作系统想法付诸实践。他用汇编语言为一家弱小的数字设备公司(Digital Equipment Corp.)的PDP-7微型计算机编写了Unix的第一个版本,每个人在操作系统、外壳、编辑器和汇编器上花了一个星期的时间。
汤普森和他的同事丹尼斯·里奇(Dennis Ritchie)今年早些时候退出了贝尔实验室(Bell Labs)的一个陷入困境的项目,该项目旨在开发一种名为Multics的分时系统,Multics是“多路信息和计算服务”(Multiplexed Information and Computing Service)的缩写。他们不希望坚持使用当时占主导地位的任何批处理操作系统,也不希望彻底改造Multics,他们认为Multics既古怪又笨拙。
在考虑了新系统的一些想法后,汤普森编写了Unix的第一个版本,在同事道格·麦克罗伊(Doug McIlroy)、乔·奥萨纳(Joe Ossanna)和拉德·加拿大(Rudd Canaday)的帮助下,这对搭档在接下来的几年里继续开发这个版本。Multics的一些原则被移植到他们的新操作系统中,但是Unix的美妙之处在于它的“少即是多”哲学(如果不是现在的话)。
“一个强大的操作系统交互使用不需要昂贵无论是在设备或人的努力,”里奇和汤普森会写五年后的ACM(CACM)的通信中,美国计算机协会的杂志。“[我们希望]的Unix用户会发现系统中最重要的特点是它的简单,优雅和易用性。”
那么,什么是Unix呢?
Unix中,大多数人会说,是一个操作系统写几十年前在AT&T的贝尔实验室,及其后代。今天的主要的Unix版本分支树有两个箱子:一是直接从AT&T发出一个来自AT&T通过加州大学伯克利分校。今天stoutest分支是由IBM,HP-UX AIX从Sun Microsystems的惠普和Solaris。
然而,拥有Unix商标的Open Group将Unix定义为它所认证的符合单一Unix规范(SUS)的任何操作系统。这包括通常不被认为是Unix的操作系统,例如Mac OS X Leopard(源自BSD Unix)和IBM的z/OS(源自大型机操作系统MVS),因为它们符合SUS并支持SUS api。其基本思想是,如果它的行为与Unix类似,那么它就是Unix,而不管底层代码是什么。
Unix更广泛的定义包括类Unix操作系统——有时称为Unix“克隆”或“类似Unix”——它们从Unix复制了许多思想,但没有直接合并Unix的代码。其中最主要的是Linux。
最后,尽管将Unix称为“操作系统”是合理的,但从实际情况来看,它更合理。除了操作系统内核之外,Unix实现通常还包括命令行编辑器、api、开发环境、库和文档等实用工具。
显然,他们做到了。Unix将成为IT的基石,广泛用于在大学、政府机构和企业中运行服务器和工作站。1983年,ACM授予汤普森和里奇最高奖项the A.M.图灵奖:“Unix系统的模型引领了一代软件设计师以新的方式思考编程。”
当然,Unix的成功并非一蹴而就所有。1971年,它被移植到PDP-11小型机,一个更强大的平台比PDP-7。文本格式和文本编辑程序,并将它推广到在贝尔实验室的专利部门的几个打字员,开发团队以外的第一个用户。
1972年,里奇写的高级C编程语言(根据汤普森的早期乙语言);随后,汤普森重写的Unix在C,跨计算环境大大增加了操作系统的便携性。一路上,它拿起名联合国新闻中心(单路信息与计算服务),在Multics的一出戏;拼写很快演变成的Unix。
是时候传播这个消息了。Ritchie和Thompson在1974年7月发表的CACM文章“UNIX分时系统”在IT界掀起了一场风暴。在那之前,Unix仅限于贝尔实验室的少数用户使用。但是现在,有了计算机协会的支持——一位编辑称之为“优雅”——Unix正处于一个转折点。
“CACM的文章产生了巨大的影响,”它的历史学家Peter Salus在他的书《守护进程,Gnu和企鹅》(Reed Media Services, 2008)中写道。“很快,Ken就收到了大量关于Unix的请求。”
黑客的天堂
Thompson和Ritchie的是完善的“黑客”,当这个词所指的人谁合并创造力,蛮力智慧和夜战,解决别人几乎不知道存在软件问题。
他们的做法,他们写的代码,极大地吸引了程序员在大学,后来在创业公司没有IBM,惠普或微软的megabudgets。Unix的是所有其他黑客,比如比尔·乔伊在加州大学伯克利分校,里克·拉希德·卡耐基梅隆大学戴维·科恩后来在贝尔实验室的大学,求之不得。
汤普森和里奇在CACM的文章中写道:“几乎从一开始,这个系统就能够,也确实能够自我维护。”“因为所有的源程序都可以在线轻松地修改,所以当有新的想法被发明、发现或建议时,我们愿意修改和重写系统及其软件。”
科恩现在是美国电话电报公司(AT&T)的研究员,上世纪70年代曾在贝尔实验室(Bell Labs)担任程序员。他回忆道:“Unix的一个特点是工具可以被编写,更好的工具可以取代它们。”“这不是什么你必须购买所有东西的铁板一块;你可以开发更好的版本。”He developed the influential Korn shell, essentially a programming language to direct Unix operations that's now available as open-source software.
作者和技术历史学家Salus回忆了他在20世纪70年代在多伦多大学担任教授时在IBM System/360大型机上使用编程语言APL所做的工作。事情进展并不顺利。但在1978年圣诞节后的第二天,哥伦比亚大学的一位朋友给他演示了如何在一台小型计算机上运行Unix。“我说,‘哦,我的上帝,’我是一个绝对的皈依者,”Salus说。
用户:Unix有一个健康的未来
如果您是预言Unix即将灭亡的人之一,那么您可能需要重新考虑一下。Computerworld在3月和4月对IT高管和经理进行的2009年Unix调查显示了不同的情况:虽然对Unix的需求似乎比我们2003年的调查有所下降,但操作系统显然仍在强劲增长。
在211名受访者中,有130人(62%)报告在他们的组织中使用Unix。在130个公司使用Unix的受访者中,69%表示他们的组织“非常依赖”或“非常依赖”Unix,另有21%表示他们的组织“在一定程度上依赖”Unix。
为什么IT企业仍然如此依赖Unix?应用程序和可靠性/可伸缩性(分别为64%和51%)是受访者提到的主要原因。其他原因包括成本考虑、硬件供应商、应用程序集成/开发的易用性、互操作性、正常运行时间和安全性。
调查基数中,AIX是最常报告的Unix版本(42%),其次是Solaris/Sparc(39%)、HP-UX(25%)和Solaris/x86(22%)、“其他Unix版本”(19%)、Mac OS X服务器(12%)和OpenSolaris(10%)。在选择其他Unix版本的19%的受访者中,大多数人说他们使用的是某种Linux。
几乎一半的预测,在五年内,UNIX仍然是受访者(47%)“的基本操作系统继续广泛部署。”仅有5%设想它渐行渐远。那些谁表示,他们计划从UNIX迁移走的,费用是首要原因,其次是服务器整合和技能短缺。
以下哪项最能描述你的Unix战略是什么?
Unix对我们来说是一个重要的平台,并将继续保持下去:42%
* Unix的在我们的企业中的角色会萎缩,但它不会消失:18%
*我们增加了对Unix的使用:15%
*我们预计将来会从Unix迁移出去:12%
*以上皆非:8%
*我们已经实施了一项计划,从Unix迁移远:5%
*其他:2%
以下哪项最能描述你在哪里的Unix将在五年愿景是什么?
*它将是一个重要的操作系统,继续广泛部署:47%
*这在一些垂直市场领域很重要,但不会被认为是大多数公司的基本运营环境:35%
*它通常被看作是一种保证非unix迁移路径的遗留系统:11%
* Unix和其他操作系统的重要性将随着我们转向托管(云计算、软件即服务等)系统而减弱:5%
*以上都不是:2%
*其他:1%
Base: 130名IT经理,他们说他们的公司使用Unix。因为四舍五入的关系,百分比加起来不等于100。
来源:计算机世界2009年的Unix调查
他说,Unix的主要优点是它在1973年引入的“管道”特性,这使得将一个程序的输出传递给另一个程序变得很容易。流水线概念是由贝尔实验室的McIlroy发明的,后来被许多操作系统所模仿,包括所有的Unix变体、Linux、DOS和Windows。
Unix的另一个优势——Salus说的第二个“哇”——是它不必运行在价值百万美元的大型机上。这本书是为又小又原始的DEC PDP-7微型计算机写的,因为这是汤普森和里奇在1969年能得到的全部资料。“PDP-7几乎什么都做不了,”Salus回忆道。“我是迷上了。”UnixOffspring
很多人的迷上了为好。大学的研究人员纷纷采用了Unix的,因为它是相对简单和容易修改,它是在它的资源需求要求不高,源代码基本上是免费的。初创公司如Sun微系统公司和现已解散公司的主机专门从事科学计算,如多流的电脑,使它他们的首选操作系统,出于同样的原因。
Unix的成长为一个非专有的系统,因为在1956年,AT&T已经从它的使命偏离提供电话服务责成由联邦同意法令。这是确定开发软件,甚至进行许可一个“合理”的费用,但该公司从进入电脑业务被禁止。
Unix是在管理层不鼓励的情况下开发出来的,最初在AT&T被认为是介于好奇和法律问题之间的东西。
然后,在20世纪70年代末,AT&T意识到它手上有一些具有商业价值的东西。它的律师开始对1956年的同意法令采用更有利的解释,因为他们在寻找保护Unix作为商业机密的方法。从1979年开始,随着版本7的发布,Unix许可证禁止大学在其课程中使用Unix源代码进行学习。
没问题,在阿姆斯特丹自由大学使用过Unix v6的计算机科学教授Andrew Tanenbaum说。1987年,他为自己的课堂编写了一个Unix克隆版本,创建了运行在Intel 80286微处理器上的开源Minix操作系统。
“Minix的合并所有的Unix的想法,这是一个辉煌的工作,”萨卢斯说。“只有一个主要的程序员,别人谁深深了解操作系统的内部,能做到这一点。”MINIX将成为Linus Torvalds的1991年创造了Linux的起点 - 如果不是完全Unix的一个克隆,肯定是Unix的相象。
后退十年左右,比尔欢乐,他是在加州大学伯克利分校的研究生和程序员的70年代,他的手在一份Unix的贝尔实验室,他觉得这是一个很好平台,自己的作品在Pascal编译器和文本编辑器。
他和伯克利大学的其他人进行的修改和扩展形成了Unix的第二个主要分支,称为伯克利软件分发(BSD) Unix。1978年3月,Joy送出了售价50美元的1BSD唱片。
到1980年,Unix有了两大分支——一个来自伯克利,另一个来自AT&T——为后来的Unix战争做好了准备。好消息是,任何地方的软件开发人员都可以获得Unix源代码,并根据自己的需要和想法对其进行定制。坏消息是他们就是这么做的。Unix迅速发展,各种变体也开始分化。
1982年,乔伊与人共同创建了Sun Microsystems公司,并提供了一款名为Sun-1的工作站,运行名为SunOS的BSD版本。(Solaris大约在10年后问世。)第二年,AT&T发布了Unix System V的第一个版本,这个极具影响力的操作系统后来成为IBM的AIX和Hewlett-Packard的HP-UX的基础。
在80年代中期,包括联邦政府在内的用户抱怨说,虽然Unix在理论上是一种单一的、可移植的操作系统,但实际上它根本不是。供应商口头上对这些抱怨表示支持,但夜以继日地工作,用定制的Unix特性和api锁定客户。