一、Multics计划

1965年,AT&T贝尔电话实验室、通用电气公司、麻省理工学院MAC课题组一起联合开发一个称为Multics的新操作系统。Multics系统的目标是要向大的用户团体提供对计算机的同时访问,支持强大的计算数据存储,以及允许用户在需要的时候容易地共享他们的数据。

1969年Multics的原始版本在GE645计算机上运行了,但它既没能提供预定的综合服务,而且,连它自己也不清楚究竟什么时刻算达到开发目标。在这种情况下,AT&T贝尔电话实验室首先退出了这一项目。

二、UNIX系统的萌芽

Multics项目中止后,AT&T贝尔电话实验室中参加开发的主要人员开始寻找其他有趣的项目。这其中,KenThompson写了一个名叫“太空漫游”的游戏程序。他找到了一台基本无人使用的DEC PDP-7计算机运行他的程序。然而由于DEC PDP-7缺少程序开发程序,以致于Thompson不得不在另一台运行GECOS操作系统的Honeywell635上交叉汇编子他的程序,然后再通过纸带加载到DEC PDP-7上。

为了方便太空漫游的开发,Thompson和Dennis Ritchie一起着手开发DEC PDP-7上的操作环境:

1.一个简单的文件系统,它后来深化成称之为System V文件系统的早期版;

2.一个进程子系统和shell(命令解释器)。

这样这个系统就足以满足他们的需要,他们将这个操作环境命名为UNIX。

Thompson和Ritchie后来开发了B语言(后来Ritchie又将其发展为C语言),并扩展了UNIX系统,UNIX系统便在AT&T贝尔电话实验室流行起来。

1973年11月,他们用C语言彻底重写,这是UNIX操作系统迈向成功之路的关键一步。完成后,Thompson和Ritchie共同在《ACM通信》上发表了首篇UNIX论文,The UNIX Time Sharing System。

三、UNIX系统的发展

而由于AT&T公司受到美国反托拉斯法的诉讼,与联邦政府签署了一份协议,这份协议不允许AT&T公司生产与电话和电报服务无关的设备,也不允许从事除“公用通信服务”外的任何商业活支。这样,AT&T公司就陷入了不能经营计算机产品的尴尬局面。

而自从在《ACM通信》中发表了关于UNIX的论文后,越来越多的人希望能够获得UNIX软件和源码。为了不违背与政府签署的协议,AT&T公司既不出售UNIX、也不为其作广告、不对其提供技术支持。而同时为了满足大家的需要,AT&T公司在签署简单协议的前提下,将UNIX系统无偿地提供给大学,以供教学与研究。

由于AT&T公司对UNIX的策略,使得UNIX在全世界范围内快速发展。到1975年底,它已经传播到西至耶路撒冷的Hebrew大学,南至澳大利亚的新南威尔士大学,北至加拿大多伦多大学的世界各地。

1979年1月发行的UNIX版本是一个真正可移植的UNIX系统,它对其后的UNIX发展有着深远的影响。该版本最初是运行在PDP-11和Interdata 8/32上的,该系统更加健壮,而且提供了比版本6更强大的功能,但其相当慢。许多领取了许可证的用户针对这一情况从不同方面对系统的性能进行了改进,AT&T又将这些改进中的许多加入了其以后的UNIX发行中。

这种使用者与开发者之间的合作精神正是UNIX快速成长和不断发展的关键因素。不幸的是,当UNIX在商业上取得很大成功之后,这种精神就不存在了。

四、UNIX系统最重要的分支----BSD UNIX

1974年12月,加州大学伯克利分校获得了UNIX许可证。在其后的几年里,包括Bill Joy和Chuck Haley在内的一组研究生为UNIX开发了几个实用工具,其中包括ex编辑器---vi的前身和一个Pascal编译器。他们将这些软件绑定成一个称为“伯克利软件销售(BSD)”的软件包,并在1978年春以每个许可证50美元出售。最初的BSD发行仅包括应用程序和实用工个,并没有对操作系统进行修改和再发行。Joy早期的贡献之一就是C Shell。

1978年伯克利得到一台VAX-11/780以及由新泽西州Holmdel的BTL小组移植的UNIX/32V。VAX-11采用32位体系结构,可以有4GB的地址窨,而物理内存仅为2MB。与此同时,Ozalp Babaoglu为VAX设计了一个分页式的虚存系统,并将其加入到UNIX系统中。这就是1979年末发行的3BSD,是由伯克利发行的第一个操作系统。

伯克利在虚存方面的工作促使美国国防部高级研究项目署(DARPA)决定投资支持伯克利的UNIX系统开发。DARPA项目的目的之一就是将TCP/IP网络协议族集成到UNIX系统中。在DARPA的资助下,伯克利又推出了几个BSD发行,统称4BSD。

五、纯UNIX系统----System V

AT&T公司与美国司法部的法律大战终天在1982年达到终点,一部里程碑式的法律出台了。根据该法令,地区性运营公司都从AT&T公司中分离出来,成立一系列的“贝尔宝宝”, 贝尔电话实验室也独立出来,改名为贝尔实验室。同时,AT&T也被重新允许进入计算机市场。

贝尔实验室先后在1982年发行了System III,1983年发行了System,1984年发行了System V Release 2(SVR2),1987年发行了SVR3。

System V UNIX也引入了许多新特征,新设施。最有代表性的就是进程间通信机制。

六、UNIX系统的商业化

UNIX系统的不断发展吸引了许多计算机公司。它们急急忙忙地开始将UNIX商业化,出售自己的UNIX版本。每一家都是以AT&T或BSD为蓝本,将它们移植到自己的硬件上,并加上一些自己的“增值”功能。

1982年,Bill Joy离开了伯克利,与人合资成立了Sun公司,基于BSD开发、发行了SunOS,后来又基于SVR4发行了Solaris。

微软与SCO合作开发发行的XENIX。

此后,SCO公司将SVR3移植到386上,并将其命名为SCO UNIX。

还有一此大型的硬件公司,配合自己的计算机系统,也开发出一许多不同的UNIX版本:

IBM公司开发的AIX操作系统----运行在RS 6000小型机上;

HP公司开发的HP-UX----运行在HP工作站上;

Digital公司开发的Digital UNIX。

还有著名教授Tanenbaum为了教学开发的MINIX系统;

以及我们可爱的小企鹅----LINUX操作系统。

每种商业变体都增加了许多新特征,这些功能中的许多后来又被加入到主线系统中,这样逐步推动UNIX系统向前发展。

七、UNIX系统标准

UNIX系统变体的泛滥造成了许多不兼容问题,尽管所有的变体从某种程度“看起来都像UNIX”,但它们在许多重要方面却千差万别。最初,业界根据AT&T的System V发行版、伯克利的BSD发行版的不同一分为二。然而,后来随着商业变体不断涌现,情况越来越糟。