1700437630
UNIX传奇:历史与回忆 8.1 伯克利软件发行版
1700437631
1700437632
1978年,DEC公司推出新款计算机VAX-11/780。VAX是一种32位机器,其内存和运算能力大大超过PDP-11,同时与PDP-11保持兼容。16位计算机使用16位内存地址,而32位计算机使用32位内存地址,因此可以寻址更多的主存储器。VAX-11/780刚出现时,新泽西州霍姆德尔贝尔实验室研究员约翰·赖泽(John Reiser)和汤姆·伦敦(Tom London)将Unix第7版移植到VAX上,但他们的版本32/V并没有使用新机器的虚拟内存功能,因此未能充分利用VAX的能力。
1700437633
1700437634
加利福尼亚大学伯克利分校计算机系统研究组(Computer Systems Research Group)的比尔·乔伊和他的同事们在赖泽和伦敦的32/V基础上添加了虚拟内存使用代码。这个版本很快就取代32/V,而VAX本身也成了大多数用户的主要Unix机器,PDP-11渐渐被淘汰。伯克利版本被打包并采用BSD(伯克利软件发行版)授权发行给Unix用户。BSD的后裔如今仍然活跃,FreeBSD、OpenBSD和NetBSD等变种都在继续发展。苹果公司的Darwin(macOS的核心)所使用的NextSTEP也是BSD的衍生版本。
1700437635
1700437636
SunOS在早期伯克利版本基础上发展而来,被用在由比尔·乔伊共同创办的Sun微系统公司的计算机上。其他发行版在几年后分离出来,形成了上述BSD变种。所有这些版本归根结底都是对Unix的重新实现,虽然提供相同功能,但使用了全新代码。一旦重新编写,它们就不包含AT&T的代码,不会侵犯AT&T的知识产权。
1700437637
1700437638
另一个副产品是为史蒂夫·乔布斯(Steve Jobs)在1985年创办的NeXT计算机公司创造的。NeXT工作站拥有多种创新功能,是苹果用户所熟悉的优雅而精致的工业设计的早期范例。1990年12月11日,我在贝尔实验室观看乔布斯演示NeXT。机器非常漂亮。记忆中,那是我唯一一次对科技小玩意儿产生“想要一台”的想法。我显然是被著名的“乔布斯现实扭曲场”所魅惑。3年后,当他来实验室再做演讲时,并没有达到这种效果,我甚至不记得他展示了什么。
1700437639
1700437640
虽然NeXT计算机公司本身未能取得商业成功,但1997年该公司被苹果公司收购,乔布斯也随之回归,并在一年内重任首席执行官。在Objective-C程序中,人们仍然可以从NSObject和NSString等名称上看到NextSTEP操作系统的遗留影响。
1700437641
1700437642
图8-1所示的时间线揭示了另一鲜为人知的事实:在20世纪80年代,微软发行了名为Xenix的Unix版本;图8-2所示为当时一则广告的部分内容。人们不禁要问,如果微软公司主推Xenix而不是自己的MS-DOS,如果AT&T更容易打交道,今天的世界会有多大不同?在20世纪80年代中后期,以安装计算机数量计,Xenix是最普遍使用的Unix变种。据Unix遗产站(The Unix Heritage Society)记载,圣塔克鲁兹公司(Santa Cruz Operation,SCO)后来收购了Xenix。
1700437643
1700437644
1700437645
1700437646
1700437647
图8-2 Xenix:微软的Unix版本
1700437648
1700437649
1700437650
1700437651
1700437653
UNIX传奇:历史与回忆 8.2 Unix战争
1700437654
1700437655
在20世纪80年代后期,许多Unix系统的供应商使用Unix商标名称,并提供起码是源自贝尔实验室第7版系统的软件。然而,版本之间,尤其是AT&T的System V和伯克利发行版之间,存在不兼容问题。所有各方都同意,急需制订一套共同标准。至于标准该是什么样子,当然没有统一意见。
1700437656
1700437657
行业联盟X/Open成立于1984年,冀望于打造标准源代码环境,使程序代码无需修改即可在任何Unix系统上编译。
1700437658
1700437659
AT&T和一些盟友成立了自己的团体Unix国际(Unix International),颁布标准,与开放软件基金会(Open Software Foundation)制订的标准对打,结果是出现了两个相互竞争的不同“开放”标准。POSIX(Portable Operating System Interface,可移植操作系统接口)标准和由X/Open 管理的“单一Unix规范”(Single Unix Specification)诞生了。前者用于基本的库函数,后者为各个Unix版本的库、系统调用和大量常用命令(包括shell、awk、ed和vi)规定了统一标准。
1700437660
1700437661
1992年,USL和AT&T就侵犯Unix知识产权为由起诉伯克利,声称伯克利未经许可使用AT&T的代码。伯克利对AT&T的代码做了大量修改,并增加了许多有价值的内容,包括令人们能够访问互联网的TCP/IP代码。
1700437662
1700437663
伯克利持续删除和重写来自AT&T的代码,并在1991年发布了他们认为不包含AT&T专利材料的Unix版本。AT&T和USL并不认可,诉讼随之而来。经过一番周折,案件在新泽西州法院审理,伯克利胜诉,部分原因是AT&T没有在其发布的代码上加上适当的版权声明。反诉随之而来。
1700437664
1700437665
如果你觉得这一切听起来超级复杂、枯燥,那就对了。但这在当时是一件大事,各方都浪费了很多时间和金钱。1991年,AT&T将USL的股份卖给11家公司。1993年,网威(Novell)公司买下USL和Unix的版权。也许是意识到有关各方花在律师身上的钱比他们在销售中可能收回的钱还要多,网威公司首席执行官雷·诺达(Ray Noorda)决定解决掉所有官司。
1700437666
1700437667
回过头来看,我想可以说,AT&T早期几乎是偶然地决定向高校提供Unix,导致了所有这些法律纠纷。随着Unix从免费使用的高校传播到愿意付费的公司,它在商业上变得可行,至少是可能可行。但时机已过,无法进行有效保护。即使AT&T的源代码受到保护,系统调用接口实际上也是在公共领域,而且社区中存在着大量的专业人士,创建不受AT&T许可约束的版本几乎是手到擒来。编译器、编辑器和所有工具等应用软件也是如此。皇冠上的珠宝不翼而飞后,AT&T才想起来去锁谷仓大门,为时已晚。
1700437668
1700437669
1700437670
1700437671
1700437673
UNIX传奇:历史与回忆 8.3 Minix和Linux
1700437674
1700437675
AT&T试图从软件中赚钱,对Unix的许可限制越来越多,其中也包括高校如何使用Unix的限制。BSD没有这种限制,优势顿显。同时,AT&T和BSD之间争斗不断,也推动其他人试着推出自己的类Unix系统。独立创建的版本不受商业限制,因为它们只使用系统调用接口,而不使用其他人的代码。
1700437676
1700437677
1987年,安迪·塔嫩鲍姆在阿姆斯特丹自由大学创建Minix。Minix形似Unix,在系统调用层面兼容Unix,但完全重新编写,采用不同的内核组织方式。
1700437678
1700437679
Minix相对较小,为了帮助它的传播,安迪写了本教科书,对标10年前莱昂斯那本Unix评注。Minix源代码免费提供——其中一版书附赠十几张软盘,可以加载到IBM PC上,运行Minix。我现在还保留着安迪那本书的首版,甚至可能还有Minix软盘。
[
上一页 ]
[ :1.70043763e+09 ]
[
下一页 ]