Zhenhua Wu

Zhenhua Wu的博客

他的个人主页  他的博客

Unix40年风雨历程:革命性操作系统的过去现在与未来(转)

Zhenhua Wu  2009年07月11日 星期六 14:34 | 1500次浏览 | 2条评论

一篇关于UNIX40年来的发展历史,个人觉得有点价值,特转于此,出处http://oss.org.cn/?viewnews-4155

40年前的这个夏天,一个程序员坐在他的电脑前,输入了一系列的代码,于是软件历史上最重要的一个产品就此诞生了。

1969年的八月,来自AT&T实验室的程序员Ken Thompson发现当他的妻子和孩子出去度假的时候,他终于有时间来实现自己关于新操作系统的想法了。他用汇编语言为Digital Equipment公司编写了第一版的Unix操作系统。他使用DEC的小型机PDP-7,各花了一周的时间来完成外壳程序,编辑器和汇编程序。自从贝尔 实验室在早些时候撤销了一个被称作Multics(多路信息与计算服务)的分时共享系统的项目(该项目早就陷入了困境)时,Thompson和他的同事 Dennis Ritchie就感觉一直无所事事。他们不看好当时的那些主流操作系统,也不想继续那个荒唐和愚蠢的Multics。经过多次关于全新操作系统的讨论。 Thompson编写了第一个版本的Unix。这个版本的Unix在后续的几年内得到了他的同事Doug McIlroy, Joe Ossanna 以及Rudd Canaday的帮助。一些来自Multics的创意被加入到了新操作系统里。但是这个全新的操作系统的精华就在于简单就是最好的。

Ritchie 和Thompson在CACM的期刊中写道:“一个强大的交互式操作系统既不需要花费大量的设备也不需要大批的人力。我们希望我们操作系统的用户们发现Unix的最大特点就是简单,优雅并且容易操作。”

显然他们做到了。Unix已经成为IT界的基石,它已经被广泛的应用到大学,政府部门里的服务器以及工作站中。而它的影响力远比它应用的范围大的 多。由于对计算机界的贡献,ACM在1983年授予Thompson 和Ritchie计算机界的最高荣誉---图灵奖。 Unix的诞生使得一代的程序员开始重新思考编程的真谛。

早期的起步

罗马不是一天建成的。在1971年,Unix被移植到了PDP-11小型机上,这个平台远比早期的PDP-7强大的多。新的系统中加入了全新的文本格式以及文本编辑器。而它的第一批使用者就是来自贝尔实验室专利部门的打字员们。

在1972年,Ritchie发明了高级C程序语言(这是基于Thompson早期的B语言),随后Thompson用C语言重新编写了Unix, 而这极大的增强了系统的便携性。而这个版本被命名为Unics(Uniplexed Information and Computing Service),这也是对当年Multics的致敬,不久这个名字又被改回Unix。

而是时候让大家了解这个全新的操作系统了。Ritchie 和 Thompson于1974年6月在CACM期刊上发表了《Unix,全新的分时系统》的论文。这篇论文引起了巨大的反响。早期Unix在贝尔实验室很受 冷落。但是现在它有ACM作为后盾。编辑们称这个优雅的操作系统是个划时代的作品。

专门研究IT历史的专家Peter Salus评论说:“这篇CACM的论文影响深远,Ken因为Unix而被大家重视。”

黑客们的天堂

Thompson和Ritchie被称作是黑客们的教父。黑客们称赞他们是集超凡的创造力与无穷的智慧于一身。他们研究问题的方法,编写代码的方 式,在大学里对程序员们的精彩演讲,以及拒绝微软,IBM的资助,白手起家创办公司的事迹都被人们津津乐道。而Unix也是当时一些像加州大学Bill Joy,卡耐基梅隆大学Rick Rashid,贝尔实验室David Korn等一些著名黑客专研的模板。Thompson和Ritchie在论文中写道:“几乎从一开始,这个系统就可以自己进行完善。所有源代码都可以在互 联网上查看与修改。当互联网上有新的创意发布出来我们很乐于修改或者重写系统。”

AT&T的程序员Korn评价说:“Unix最大的特点就是可以自己编写工具来替换系统原有的工具。这比你从其他地方购买软件好得多。你知道你到底需要什么,并且可以开发出更好的工具。”Korn是最有影响力的Unix开源工具Korn Shell的作者。

作家Salus回忆1970年他在多伦多大学使用IBM360系统进行APL编程时说:“那个IBM的系统十分糟糕。但是在1978年的圣诞,我的 一位哥伦比亚大学的朋友送给我一台安装有Unix系统的小型机,它实在是太方便了。”他说Unix最大的优点就是他的管道特性。这一特点在1973年被引 入,可以很方便的将一个程序的输出连接到另一个程序上。流水线的概念是由贝尔实验室的Mcllroy发明的。这一特点被大多数操作系统抄袭,例如 Linux,DOS,Windows。

而Unix另外的一个优点就是它不需要几百万的大型机才可以运行。它是由低廉的DEC PDP-7编写成的。Salus评价说:“我们不得不佩服Ken的智慧,可以用如此廉价的机器编写出这么强大的操作系统。”

当时大学的研究员们普遍使用Unix因为它相对来说简单而且便于操作,并且它是开源的,拥有很多免费软件,特别适用于科学计算。

Unix的后代

如今Unix已经演变成为一个无所有权的操作系统。因为在1956年AT&T公司已经被联邦政府要求只能提供电信业务。虽然公司也可以继续 开发一些软件并且合理的收取一些费用,但是公司对于计算机业务已经不再热衷了。而Unix也就不再受到公司的资助。而在二十世纪七十年代末 期,AT&T公司突然认识到Unix还有一定的商业价值,因此他们就利用1956年的一项软件著作权声明想要把Unix声明成为自己的商业机密。 从1979年的Unix第七个版本开始,Unix的许可协议不再允许大学里使用Unix源代码开设课程。

而Vrije大学的计算机教授Andrew Tanenbaum说:“这不是个问题。”在1987年他编写了一个Unix的克隆版,并在他的课堂中使用它。这个开源的Minix操作系统可以运行在Intel 80286处理器上。
Salus说:“Minix实现了Unix的所有功能,这是一个杰作。只有一个资深的程序员,并且熟知操作系统真谛的人才能做到这点。”而Minix是1991年Linus Torvald的雏形。它不仅仅是个Unix的克隆,确切的说它只是外表像Unix而已。

让我们再退回去几年。在70年代,Bill Joy只是位加州大学伯克利分校的一位毕业生,他当时正从事程序员的工作。一次他从贝尔实验室收到一份Unix的拷贝,他发现这是一个很好的平台,可以运行他的Pascal编译器和文本编辑器。

而后来他和他的同学们又编写了Unix的另外一个重要的分支,被称作Berkeley Software Distribution (BSD) Unix。在1978年3月,Joy卖出了BSD Unix的第一份拷贝,售价50美元。

因此,在20世纪80年代,市面上一共有两个版本的主流Unix。一个来自Berkeley一个来自AT&T。而这就演变成后来大家熟知的 Unix内战。而用户因此得到的好处就是可以免费得到Unix的源代码并且定制自己合适的应用程序。而不好的地方就在于造成了Unix的分化与变种。

在1982年,Joy创办了Sun微系统公司,并且发布了他们的第一款工作站Sun-1.这款Sun-1上运行的BSD Unix被称作SunOS(这也是Solaris的前身)。而在第二年,AT&T就发布了Unix System V。而这款极具影响力的操作系统成为后来IBM AIX和Hewlett-Packard HP-UX的基础。

Unix内战

在80年代中期,用户们就连联邦政府都在抱怨,Unix虽然理论上是一个完整的操作系统,但是实质上它已经分化了。厂商们抱怨不得不通过定制自身的 特性与API来锁定用户群。在1987年,Unix System Laboratories(当时它还是Bell实验室的一个分支机构)开始与Sun合作,试图合并这两个主要的Unix分支。而他们合作的成果就是被称作 Unix System V Release 4.0的Unix系统。它与1989年发布,并且整合了System V Release 3, BSD, SunOS 以及 Microsoft's Xenix等多个Unix系统的特性。

而其它厂商开始对AT&T和Sun联盟产生畏惧。而一些小联盟像:X/Open, Open Software Foundation, Unix International 以及Corporation for Open Systems开始成立试图对抗标准化联盟。而这些联盟间的口舌之争已经可以写成一本书了。而他们都宣称自己的Unix是一个标准版本,并且借此抨击对 手。

一个写于1988年没有发表的论文中说:“微型计算机的先驱Gordon Bell评价由IBM,HP,DEC等一些反AT&T与Sun联盟的公司组成的组织“开源软件联盟”(OSF)。开源软件联盟可以让更多的厂商进 入Unix市场,同时还可以保持这个市场较高的利润率。”

而Unix内战想要统一Unix操作系统标准的愿望并没有达成。但是在1993年,Unix联盟遭到了来自微软公司的32位操作系统Windows NT企业版的迎头痛击。Window NT在用户桌面以及数据中心等多个市场取替了Sun公司了垄断地位。

微软的拥护者拍手称快而Unix的厂商慌了神。几乎所有的主要的Unix厂商自发的组成了 Common Open Software Environment联盟。而这也减轻了AT&T与Sun联盟被边缘化的危险。

而事实上,这些联盟使得Unix更加的标准化了,并且更具有竞争力。但是它们发展的太慢,并没有阻止开源操作系统Linux的成长。而Linux正是从当年Tanenbaum教授的Minix Unix发展而来的。

 

Unix的未来

一份来自Gartner Group的报告表明,持续的缺乏便携性以及相对于Linux和Windows在X86平台的移植成本都促使IT人员脱离了Unix。

一份2009年的报告中说:“用户对于Linux服务器平台充满了热情,而Windows服务平台的使用率也在逐年上升,相比之下Unix最近几年 一直都在下降。”来自Gartner的分析师George Weiss说“Unix有一个悠久的历史,但是目前它正在压力中苦苦支撑,Linux可以成为Unix战略上的伙伴。虽然Linux没有像Unix那样自 身的背景,但是它在性能以及稳定性发面将会马上赶超Unix。”

但是一份来自计算机世界的调查表明近期不会发生大面积的Unix用户系统迁移。通过对211位IT经理的调查表明:90%的经理人声称他们十分信赖 Unix平台。超过百分之五十的经理人声称Unix对于他们是至关重要的。只有12%的经理人宣称将会在将来弃用Unix系统。节约成本与系统合并是其弃 用的两项重要原因。

Weiss说:“由于X86平台的价格优势,其移植的过程将会加速。可升级组件,聚类,云计算以及虚拟化,当你想要整合这所有的元素,你就只能选择 Linux或者Windows。举个例子,思科公司刚刚宣布它的统一计算模型可以整合网络,存储,计算以及存储器链接在一条网络上。而你就不能使用 Unix。你可以在X86平台上运行Linux或者Unix,这是Intel的一次胜利。”

AT&T公司的Korn依旧看好Unix。他说自从1973年Unix引入了管道以来,它就在不断的完善,现在你可以轻易的把它分割并且发 布。而这将会促使Unix不断进步。他说:“管道理论可以在云计算的环境下很好的工作。你可以把工作分成简单的部分来取代臃肿的工程。”

Unix的后续发展

我们且不看Unix的最终命运。这个操作系统自从40年前在贝尔实验室建立以来就发展了无数的后代产品。无数的主流软件都来源于Unix这包括了 IBM, HP, Sun公司的Unix,Apple电脑的Mac OS X 以及Linux。而Unix的跟目录结构也影响了无数主流操作系统就像:微软的Windows NT,IBM以及微软的DOS系统等等。

Unix给了很多小公司建立自己低价平台的机会。也许早先迷你系统的一个核心就变成的如今网络通信系统的核心组件。而Unix也孕育了无数类似“管道”这样的创意。Unix的后代Mach在科学计算以及分布式微处理器计算领域应用广泛。

ACM将1983年的图灵奖授予Thompson和Ritchie的Unix。他们评价说:"Unix系统的精华在于它的框架,每一个程序员都可以在其他人的基础上继续工作。"

 

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
孔建军

回复 孔建军  2009年07月12日 星期日 20:40

谢谢分享 :)

0条回复

边疆

回复 边疆  2009年07月11日 星期六 16:40

不错的文章
各个操作系统互相借鉴发展,才能更好的满足用户的需求~~

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号