本文来自 https://mp.weixin.qq.com/s/GgXAGj0Kbo1gKPT4D4WYSA
1964年贝尔实验室(Bell Labs)、通用电气(General Electric)和麻省理工学院(MIT)联合启动研发第二代分时操作系统MULTICS(Multiplexed Information and Computing Service)(注:MULTICS正式研制始于1965年)
1969年,贝尔实验室研究人员Ken Thompson在退出MULTICS项目时,准备将原本在MULTICS系统上开发的“star travel”游戏转移到DEC PDP-7上运行。在转移游戏程序运行环境的过程中,Thompson和Dennis M. Ritchie共同动手设计了一套包含文件系统、命令解释器以及一些实用程序的支持多任务的操作系统。与Multics相对应,这个新操作系统被同事Brian Kernighan戏称为UNICS(UNiplexed Information and Computing System,非复用信息和计算机服务),之后大家取谐音便叫成了UNIX。
1970年Thompson尝试用Fortran重写UNIX失败后整合BCPL成B语言,1971年他用B语言在PDP-11/24上重写UNIX,当年的11月3日,UNIX第1版(UNIX V1)正式诞生。
注:BCPL(Basic Combined Programming Language)是Martin Richards写的,他在1967年写了篇文章“编译器编写和系统编程工具(A tool for compiler writing and systems programming)”。因为B是“BCPL的精简版”,所以它的名字也是一个缩写,B成为第一个在Unix上使用的高级语言。
1972年,UNIX发布了第2版,最大的改进是添加了后来成为UNIX标志特征之一的管道功能。在开发UNIX V2的时候,Ritchie给B语言加上了数据类型和结构的支持,推出了C语言。
1973年,Thompson和Ritchie使用C语言重写了UNIX,形成第3版UNIX。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以Thompson和Ritchie此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后UNIX的发展奠定了坚实基础。
1974年,Thompson和Ritchie合作在ACM通信上发表了一篇关于UNIX的文章,这是UNIX第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。
1975年,UNIX发布了4、5、6三个版本。1978年,已经有大约600台计算机在运行UNIX。
1975年,Thompson应邀回母校——加州大学伯克利分校任客座教授,讲授的科目就是UNIX。同年,Bill Joy大学毕业来到伯克利分校。当UNIX V6安装在学校的PDP-11/70机器上后,Joy和他的同事便开始完善Pascal的性能,编写ex编辑器以及csh命令解释器等。1977年初,Joy制作了一卷包含新的Pascal编译器、ex等程序的磁带。这就是1BSD(1st Berkeley Software Distribution)。1983年,4.2BSD发布。它是UNIX历史上第一个包含TCP/IP协议栈以及rcp、rsh、rlogin和rwho等网络工具的系统。
1979年,UNIX V7发布。这是历史上第一个完整意义上的UNIX版本,也是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。此后这个方向上的研究导致了九号计划的出现,这是一个新的分布式操作系统。
注:贝尔实验室九号项目(Plan 9 from Bell Labs,常简称为Plan 9)是一个分布式操作系统,由贝尔实验室的计算科学研究中心在1980年代中期至2002年开发,以作为UNIX的后继者。它现在仍然被操作系统的研究者和爱好者开发使用。
1980年,美国电话电报公司发布了UNIX的可分发二进制版(Distribution Binary)许可证,启动了将UNIX商业化的计划。
1981年,美国电话电报公司基于UNIX V7开发了UNIX System III 的第一个版本(1982年发布)。这是一个商业版本,仅供出售。
1983年,美国电话电报公司成立了UNIX系统实验室(UNIX System Laboratories,USL),并综合其他大学和公司开发的各种UNIX,开发出UNIX System V Release 1(简称SVR1)。这个新的UNIX商业发布版本不再包含源代码。美国电话电报公司开始积极地保护UNIX的源代码。从发布System III开始,该公司的所有UNIX版本转由一个强调稳定的商业发行版本小组进行维护。
此后,其他一些公司也开始为其自己的小型机或工作站提供商业版本的UNIX系统,有些选择System V作为基础版本,有些则选择了BSD。BSD的一名主要开发者,Bill Joy,在BSD基础上开发了SunOS,并最终创办了SUN公司。
1991年,一群BSD开发者(Donn Seeley、Mike Karels、Bill Jolitz和Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在Intel平台上提供全功能商业BSD UNIX的厂商。后来Bill Jolitz离开了BSDI,开始了386BSD的工作。386BSD被认为是FreeBSD、OpenBSD和NetBSD、DragonFlyBSD的先辈。
AT&T继续为UNIX System V增加了文件锁定,系统管理,作业控制,流和远程文件系统。1987到1989年,AT&T决定将Xenix(微软开发的一个x86-pc上的UNIX版本),BSD,SunOS和System V融合为System V Release 4(SVR4)。这个新发布版将多种特性融为一体,结束了混乱的竞争局面。
1993年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体了。
UNIX System V Release 4发布后不久,AT&T就将其所有UNIX权利出售给了Novell。Novell期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,1993年Novell将SVR4的商标权利出售给了X/OPEN公司,后者成为定义UNIX标准的机构。1996年,X/OPEN和OSF/1合并,创建了国际开放标准组织,由它公布的“单一UNIX规范”定义着具有什么特征的操作系统可以冠上UNIX之名,相对地,不符合这些标准但与Unix有类似性的操作系统只能称为“类Unix”(unix-like)。
UNIX代码著作权则由Novell售给Santa Cruz Operation(SCO)公司,2001年这家公司的商标与UNIX产品和业务都出售给了Caldera Systems,交易完成后,Caldera又被重命名为SCO Group。
截止到2020年6月,目前除类UNIX系统(BSD、GNU)外,仍有Oracle Solaris,IBM AIX,HP-UX,MINIX等符合标准的UNIX系统。而原System V Unix则随着“1127”部门的解散而停止更新。
注:根据一项报导指出,当年负责研发UNIX与后续维护工作的贝尔实验室1127部门已于2005年8月正式宣告解散。肯·汤普逊已退休,现居加州;丹尼斯·里奇调到别的部门;而Douglas McIlroy则在达特茅斯学院担任教授。
官司:
1983年,AT&T发布了Unix最新版system V,这是一个商业化版本,付费才能使用,并且不得传播源码。这个决定对BSD构成了限制,为了减少纠纷,伯克利分校规定,BSD本身依然保持免费,但是只能提供给持有AT&T源码许可的公司。不过,与此同时,伯克利的师生也开始着手另一项工作:将AT&T的专有代码从BSD中逐渐去除。
80年代后期,几个伯克利毕业的学生,成立了一家Berkeley Software Design Inc.公司,简称BSDi,专门销售BSD的一个商业版本。他们在广告中宣称,自己的产品不包含任何AT&T代码。这句话惹恼了AT&T,1990年BSDi被告上法庭,稍后伯克利分校也被追加为被告。AT&T起诉BSD侵犯了Unix的版权。
这场诉讼对BSD打击极大,所有的开发活动都被迫停止,用户人心惶惶,担心自己也遭到AT&T的追究,因此BSD的使用急剧减少。最后在1994年,双方达到和解,BSD才恢复开发。
这场战争给Unix和BSD带来毁灭性的打击。BSD在1992~1994年期间,开发处于停滞,错过了发展的黄金时机。官司结束以后,又不幸发生分裂,变成了FreeBSD、NetBSD和OpenBSD三个版本。这些原因导致BSD直到今天,都还在操作系统的竞争中处在落后地位。
如果换个时间,官司的损失也许还没这么大。偏偏90年代初是计算机工业决定性的年代,错过了那几年,从此你就不要想翻身了。因为从80年代末期开始,Intel的80×86芯片有巨大的发展,性能快速上升,而成本快速下降,个人电脑的年代就要到来了。市场迫切需要能够运行在386芯片上的操作系统,但是Unix和BSD忙于打官司,都没有去做移植操作系统这件事。其他两个这样做的人,改变了人类历史。
一个是比尔·盖茨,他推出了Windows,占领了个人电脑市场,后来赚了几百亿美元。另一个是芬兰大学生Linus Torvalds,他想学习Unix,但是买不起工作站,就自己写了一个能在386上运行的Linux操作系统,现在全世界超过一半的网络服务器都在使用这个系统。Linus Torvalds后来说,如果他早知道BSD没有法律问题,并且可以被移植到386,他就会加入BSD的开发,而不是自己写一个。
我们不禁要问,如果AT&T不打版权官司、不对Unix收费的话,会发生什么事?……人类的历史、市场的格局也许都会被改写。
[2] https://www.cnblogs.com/lsdb/p/6627528.html
[3] https://zh.wikipedia.org/wiki/UNIX
[4] https://www.sohu.com/a/119456926_464065