红联Linux门户
Linux帮助

Unix:四分五裂中的团结

发布时间:2006-02-27 00:50:32来源:红联作者:wide
虽然有许多人宣称Linux即将要取代Unix系统,然而事实上Linux就是Unix:Linux只是其中的一个支派,Unix的设计传统与设计概念都比Linux来得更广。
如果仔细观察Unix的历史,你会看到一些核心概念,是由许多不同的人,利用许多不同的方法所完成的。那些贬低Unix的人总是在谈论Unix版本的四分五裂,同时也会抨击1980年代他们所谓的“Unix版本战争”。但事实上,就算是差异最大的Unix产品,一般来说也只是实作细节与支援硬体上有所不同,基本概念都是一样的。
因此让我们回顾一下Unix与开放原始码的最初来源:它们都是使用社群开发与公布所有研发成果这些重要学术传统的实际展现。
在1960年代早期,为了在作业系统的竞争中争取较多认同,Multic作业系统决定让该系统成为开放原始码使用者社群的焦点。以下是一个例子,这是Multics系统的重要设计人员Corbato与Vyssotsky在1965年所写的:
在Multics系统大致可以运作时,将会把原始码公布于世……如此的公告动作是十分必须的,基于以下两个理由:第一,本系统应该要经得起大众的仔细检查与有兴趣的自发读者的批评;第二,由于系统的复杂性持续增加,将系统公诸于世,可以强迫系统的设计者将程式写得尽可能清楚易懂……
目前Multics系统的计划还未公开。然而这个初步的系统,要成功的符合所有的设计需求是不可能的。本系统将会随著使用者的影响以及使用者长期的活动演进,演进的方向现在也很难预测。经验指出,线上终端机的功能会大幅改变使用者的习惯,这些习惯的改变也会回过头来改变系统本身。我们预期大多数的系统改变将来自于使用者。而最后这个系统也将会成为该社群程式、资料与知识的集散地。
学术界认为,一个分时的电脑作业系统,就像是一个将一群使用者串连起来的通讯核心。然而这场竞争的另一方,那些IBM的资料处理专业人员却不是如此设计作业系统。对他们来说,保密性是最重要的,电脑不是设计来增加人的能力,而是一个用来取代人的电动职员。
最后学术派在经费上与设计上都赢了这场仗,但开发工作却还是交给了那些资料处理专家。这些专家所制作的系统与研发计划里面,当然包含较多他们自己的想法。Unix之父Thomson为了对抗这种商业化的转变,便将Multics计划改写成Unix系统──这个系统是Multics计划原先设计的一贯目标。
今日,最为人所知的Unix分支有:Linux、BSD系列与Solaris。其中Linux基本上可说最符合他一开始所设定的Freax目标(即386平台下的免费Unix);而BSD延续了Unix的学术研发传统,同时也是Macs作业系统的基础。而Solaris则在Plan9模型上实作网路运算,带领Unix系统进入下一代。
因为这些系统在来源与设计目标上的一致,要使用Unix,各平台绝大部分的所需知识都是相同的。从存取资料、开发程式库到每日工作等等的核心程序,在所有主要的Unix分支版本上的工作方式都相同。另外,数以百计的GNU工具程式与上千种的开放程式码应用程式也是如此。从使用者与系统管理者的角度来看,不管使用什么平台,Perl就是Perl,PostGres就是PostGress,SAMBA也不会因为主机使用Linux、NetBSD或Solaris平台,就有很大的不同。
的确,在某个已经过时的Unix分支上的实作经验,无法直接套用在Linux、BSD或Solaris上面。然而,知道怎么设定旧式系统,往往也会知道这些作法背后的运作方式与原理,这才是重点。而某个平台特定的操作方式,只要上网查查线上文件就可以了。
虽然这不代表一个通过Red Hat平台认证的人,马上就能帮一台升阳多处理器电脑上的Oracle程式进行除错,因为这两个平台在细节与工具上都有所不同。但这表示了,相较于微软系统认证人员,一个懂Red Hat的人在学习使用Solaris的过程中,遇到的困难会小得太多。
一般来说,认为Unix市场四分五裂的人,都试著把他跟微软的Windows系统,做一个不适当的比较。简而言之这是一种错误的比较方式:Windows是一个品牌,而Unix是一组概念。微软的品牌一直被同一家公司所拥有,然而Windows 3.0、95、NT与Longhorn等系统不一定有一个连贯的概念。反之,即使Unix系统的主机制造商一直努力试著要让他们的产品与其他产品有所差异,所有这些产品却仍旧被认为是同一个家族的产品。
有趣的是,觉得微软的系统是持续不变,而Unix系统是多变的,这两者都是市场上毫无根据的想法。
这种想法也迫使微软要提供向下相容性──结果也造成了一个有趣的结果,就是今日六千万台个人电脑,有时候必须要执行十年前的程式码,却不能让这些写给前一代系统的程式重新针对新的系统来进行编译。
而Unix虽然没有微软这种表面上的一致性,却要求任何系统的任何概念在测试、接收与实作时,必须要持续一致。这样一来,举例来说,Kernighan与Ritchie在1978年所著作的“C 语言”一书,到今日都还可以在UNIX底下使用。而Kernighan与Pike在1984年所写的“Unix程式设计环境”几乎在Linux,netBSD与Solaris上都一样好用,而十年前写给64位元UltraSPARCS平台的程式码,可以完全不变地在升阳的下一代Niagara主机上执行。
看看今日的UNIX,再看看10年前、甚至1970年代刚出现的样子,你就会发现它是由“众多所组成的唯一”:许多开发人员、许多开发计划、许多功能组合、许多不同版本所构成的一个持续发展与扩张的概念。
Unix的每个成员都符合了此一现况。虽然在这里面也有竞争,但不管你选择了Linux、BSD或Solaris,只要是Unix的一员而非Windows,结果都相差无几。只要安装Unix的其中一个分支,都可以帮助Unix的每个分支成长茁壮。对Unix来说,它的竞争对手是某家唯利是图的公司。如果你选择了Red Hat,你的敌人并不是升阳,如果你选择了OS X,你的敌人也不是Linux,对所有的Unix来说,微软才是它的敌人。
简而言之,Unix就是Unix,它是开放性、社群概念以及五十年来对一些关键想法持续进行的成果。因此不管你使用了A牌或B牌的Unix系统都没有关系。如果你觉得Red Hat最好,而你的下属偏好Solaris或Darwin系统,趁这个机会多学一种系统,只会有好无坏。只要Unix的潮流兴起,所有的UNIX分支版本都会水涨船高。只要有愈多Mac与Sun的系统出现,你的Red Hat认证执照价值就愈高。
文章评论

共有 0 条评论