Linux——自由而奔放的黑马

文山
在制作电影《泰坦尼克号》所用的160台Alpha图形工作站中,有105台运行的是——Linux操作系统
电影《泰坦尼克号》的导演卡梅隆在奥斯卡奖的颁奖大会上接过最佳导演奖时相当狂 妄地对着全场的观众重复了男主角的一句台词:“我是世界之王”。不过这也不奇怪,耗资 两亿多美元,一举夺得11项奥斯卡大奖,赢得全球最高票房,它的导演是有资格狂妄一番的 。然而真正有资格睥睨世界的主角应该是银幕后面最先进的计算机技术!毫不夸张地说,这 部影片如果离开了电脑,不要说获奥斯卡奖,就是真正要开机拍摄都是不可能的。但是在笔 者看来,在这一切的后面,还有一个默默无闻的大主角,这就是上百台图形工作站所使用的 一套操作系统。它的名字虽然没有Unix或者NT那么响亮,但它却有可能成为世界软件史上的 一个奇迹。它的名字叫Linux(英文读音为“LINN-ooks”)。
Linux是一个极年轻的操作系统,它的诞生日期从1991年算起,迄今还不满八年,但是 它的发展和成长却迅捷无比,成为操作系统领域中一匹名符其实的黑马。迄今为止,对Linu x在全球范围内的装机台数的估计各有说法,最低的估计为300万,最高的估计数字为900万 。而1997年,MacOS的装机台数为380万,IBM OS/2为120万,Windows NT则为700多万。虽说 Linux还无法与拥有一亿多用户的Windows相比,但是它确立自身地位和影响力所花费的时间 却只有Windows的一半。作为一种Unix操作系统,Linux的强大性能显然使得其它品牌的Unix 黯然失色。有分析家认为,“Linux的广泛普及已使其成为Unix市场上最具活力的一只新军 。”甚至连Unix之父Dennis Ritchie也认为Linux“确实不错”。有一些分析家甚至认为, 在未来数年间,Linux将成为NT真正强有力的对手,也是唯一可以冲破微软垄断性文化圈的 出路所在。

芬兰、《卡勒瓦拉》、赫尔辛基和Linus

芬兰可以说是世界上唯一一个国土面积按比例来说处在北极圈内最多的国家(约1/4的 国土),在这个寒冷的国度里,遍布着大大小小约六万多个湖泊,芬兰也因此被人们称为“ 千湖之国”。在芬兰,一年中实际上只有三个季度,即春冬、夏季和秋冬。“严寒的冬天” 长达8个月之久,而夏天却只有60天左右。芬兰的历史可以说是芬兰人与自然、与寒冷做艰 苦卓绝的斗争的一个神话。
芬兰人的民族史诗《卡勒瓦拉》就记载了这个民族从远古时代起直到圣女玛丽亚生下英 雄卡勒利亚王为止的所有神话。这部史诗的作者从丰富的民间传说、神话及歌谣中汲取了一 切养料和精彩篇章,将它们收集、改编并润色整理,1835年初版时有35篇长诗,共12000多 行;而1849年再版时,篇幅几乎增加了一倍,共50篇长诗,23000余行,最终成为芬兰人的 “荷马史诗”。140多年后,又有一位芬兰人创造了另一部伟大的“史诗”,不过这一次他 用的是计算机语言,他收集这部“史诗”创作素材的地方是覆盖全球的因特网。这使得他的 创作从一开始便具有了国际性,使得他的这部“史诗”成了一部国际性的作品。这部“史诗 ”的问世,很有可能在本世纪以及下一个世纪成为芬兰人对于世界的最巨大的贡献。这部“ 史诗”的创作是从芬兰首都赫尔辛基开始的。
芬兰首都赫尔辛基是一座三面环海、风景秀丽、大小湖泊星罗棋布的城市;它还是世界 闻名的大学城和国际性的政治、文化及会议中心,这里曾举行过多次西方国家的首脑会议。 在距市中心约10分钟脚程的地方,有一条以卡勒瓦拉命名的大街,街道两旁,19世纪的旧式 住宅和现代化的建筑相映成趣。卡勒瓦拉大街上,有一座大学生寄宿公寓,我们这部史诗的 缔造者Linus Torvalds就住在这座公寓里。
现在看来,Linux并非深思熟虑的惊人之作,而是一个逐渐扩展的过程。它综合了许多 次的试验、各种各样的概念和一小段一小段的程序,在不知不觉中逐渐凝聚成了一个有机的 整体。这个过程与史诗《卡勒瓦拉》的成书过程极为相似。它最初的生成动机应当追溯到19 90年的秋天。那时的Linus正在赫尔辛基大学学习Unix课程,所用的教材是Andrew Tanenbau m的《操作系统:设计与实施》。因为在学校上机需要长时间排队等待,于是“一气之下, 我干脆自己掏钱买了一台PC机”,Linus回忆说。
Linus在自己的PC机上,利用Tanenbaum教授自行设计的微型Unix操作系统Minix为开发 平台,开发了属于他自己的第一个程序。“这个程序包括两个进程,都是向屏幕上写字母, 然后用一个定时器来切换这两个进程。”他回忆说,“一个进程写A,另一个进程写B,所以 我就在屏幕上看到了AAAA,BBBB,如此循环重复的输出结果。”
Linus说刚开始的时候他根本没有想到要编写一个操作系统内核。1991年,他需要一个 简单的终端仿真程序来存取Usenet新闻组的内容,于是他就在前两个草草编写的进程的基础 上又写了一个程序。当然,他把那些个A和B改成了别的东西。“一个进程是从键盘上阅读输 入然后发送给调制解调器,另一个进程则是从调制解调器上阅读发送来的信息然后送到屏幕 上供人阅读。”然而要实现这两个新的进程,他显然还需要一些别的东西,这就是驱动程序 。他必须为不同的显示器、键盘和调制解调器编写驱动程序。1991年的夏季,也就是在他购 买了第一台PC之后6个月,Linus觉得他还需要从网上下载某些文件,为此他必须读写某个磁 盘。“于是我又不得不写一个磁盘驱动程序,然后是一个文件系统。而一旦当你有了任务切 换器、文件系统和设备驱动程序之后,你当然就拥有了一个Unix,”或者至少是它的一个内 核。Linux就以这样一种极其古怪但也极其自然的方式问世了。
这个羽毛未丰的操作系统很有可能马上夭折,所以Linus并没有在Minix新闻组中公布它 。他只是在赫尔辛基技术大学的一台FTP服务器上发了一则消息,说用户可以下载Linux的公 开版本。“Linux是我的笔名,但是我要是真用它来命名的话,我担心有人会认为我狂妄自 大,而且不会去认真地对待它。所以我当时选了一个很糟糕的名字:Freax,”这个字是由f ree(自由)+freak(怪胎)+x构成的,“我知道这听起来令人恶心。”幸好,管理这台F TP服务器的Ari Lemmke根本不喜欢Freax这个名字,他最后还是选择了Linux。
到1992年1月止,全世界大约只有100个左右的人在使用Linux,但正是他们为Linux做了 关键性的在线洗礼。他们所提供的所有初期的上载代码和评论后来证明对Linux的发展至关 重要,尤为重要的是那些网上黑客们为了解决Linux的错误而编写的许多插入代码段。Linus 就是如此这般脚步蹒跚跌跌撞撞地创建了一个网上的“卡勒利亚王国”,并开始为他的“卡 勒瓦拉”收集并组织各种有用的素材。网上的任何人在任何地方都可以得到Linux的基本文 件,并可通过电子邮件发表评论或者提供修正代码,Usenet还专门为它开辟了一个论坛。于 是,Linux就从最开始的一个人思想的产品变成了一副巨大的织锦,变成了由无数志同道合 的黑客们发起的一场运动。

GNU、GPL、Linux

在我们这个世界上流行的软件按其提供方式和是否赢利可以划分为三种模式,即商业软 件(Commercial software)、共享软件(Shareware)和自由软件(Freeware或Free softw are)。
商业软件由开发者出售拷贝并提供技术服务,用户只有使用权,但不得进行非法拷贝、 扩散和修改;共享软件由开发者提供软件试用程序拷贝授权,用户在试用该程序拷贝一段时 间之后,必须向开发者交纳使用费用,开发者则提供相应的升级和技术服务;而自由软件则 由开发者提供软件全部源代码,任何用户都有权使用、拷贝、扩散、修改该软件,同时用户 也有义务将自己修改过的程序代码公开。
1984年,自由软件的积极倡导者Richard Stallman组织开发了一个完全基于自由软件的 软件体系——GNU,并拟定了一份普遍公用版权协议(General Public License,简称GPL) 。目前人们已很熟悉的一些软件如BIND、Perl、Apache、TCP/IP等实际上都是自由软件的经 典之作,现在又有了Netscape的加盟。可以想像,如果没有了它们,那么Internet的真实面 貌大概会令人惨不忍睹。
Richard Stallman像一个神态庄严的传教士一样喋喋不休地到处宣讲自由软件的福音, 阐述他创立GNU的梦想:“自由的思想,但不是免费的午餐”。然而同是自由软件的积极倡 导者,Linus就显得轻松自在得多,他从不对自由软件应该是什么或者自由软件对于我们有 什么样的意义等重大问题妄加评论。但是他却毫不犹豫地把Linux奉献给了自由软件,奉献 给了GNU,从而最终使自由软件有了一个发展的根基——基于Linux的GNU。
从本质上讲,Linus是个理想主义者,但同时他又非常实际。1993年,Linux的第一个“ 产品”版Linux 1.0问世的时候,是按完全自由扩散版权进行扩散的。它要求所有的源码必 须公开,而且任何人均不得从Linux交易中获利。显然他还记得在他还是个穷学生的时候, 由于买不起Unix商业版时的尴尬和苦恼,即使后来他使用的Minix在他看来也仍然太贵。然 而半年以后,他开始意识到这种纯粹的自由软件的理想对于Linux的扩散和发展来说实际上 是一种障碍而不是一股推动力,因为它限制了Linux以磁盘拷贝或者CD-ROM等媒体形式进行 扩散的可能,也限制了一些商业公司参与Linux的进一步开发并提供技术支持的良好愿望。 于是Linus决定转向GPL版权,这一版权除了规定有自由软件的各项许可权之外,还允许用户 出售自己的程序拷贝。
这一版权上的转变后来证明对于Linux的进一步发展而言确实极为重要。从此以后,便 有多家技术力量雄厚又善于市场运作的商业软件公司加入了原先完全由业余爱好者和网络黑 客所参与的这场自由软件运动,开发出了多种Linux的扩散版本(distribution),磨光了 纯粹自由软件许多粗糙不平的棱角,增加了更易于用户使用的图形界面和众多的软件开发工 具,极大地拓展了Linux的全球用户基础。Linus本人也认为:“使Linux成为GPL的一员是我 一生中所做过的最漂亮的一件事”。
举例来说,目前市面上流行的一种CD-ROM“大餐”就包含了三家商业软件公司即Red h at、Slackware和Caldera所包装的Linux扩散版本,售价仅为150美元,内容却极为丰富。比 如说Slackware的标准Linux扩散版中包括有以下的内容:操作系统本身、X Free86 X Windo ws、NTeX、TeX、GNU C和C++编译器、Objective C、FORTRAN 77、Tcl、TclX、make、bya cc、GNU Bison、flex、C库、GNU common LISP、TCP/IP网络、SLIPP/PPP、IP accounting 、防火墙、Java内核支持、BSD邮件发送、cnews、nn、tin、trn、inn、fvwm95、GNU chess 、Apache HTTP server、Arena和Lynx Web浏览器。与直接从Internet上下载数百兆字节相 比,CD-ROM版本其实更为便宜,而且安装起来也更为方便快捷。
商业软件公司的加盟也使大多数Linux的普通用户吃了定心丸。因为在很多人看来,“ 可自由扩散”的软件好像总是和“缺乏技术支持”以及“业余水平”划等号的,其实不然。 Linux从一开始就主要是在一些软件行业中的高手之间流行的,并且很快就在全球范围内网 罗了一大批职业的和业余的技术专家,形成了一个数量庞大而且非常主动热心的支持者群体 。它们能够通过网络很快地响应你所遇到的任何问题。举例来说,当Pentium II设计上的臭 虫刚一被发现,Linux是最早一个提供了解决方案的操作系统。1997年,Linux支持者群体在 众多的软件公司中一举胜出,荣获了美国《InfoWorld》杂志的最佳技术支持奖,而这一奖 项原本只是为商业公司而设立的。
但是不管怎么说,商业软件公司所提供的技术支持总是显得更为正规一些。比如Calder a可以和用户签订一年1500美元或者一次60美元的技术支持合同;Workgroup Solutions的支 持合同是一年1000美元或一小时150美元或一次50美元;Red Hat的AnswerDesk则可提供每天 24小时,每周七天的电话支持,用户可以用信用卡按小时或按分钟付费。这些正规的技术支 持服务对于把Linux更快地推向企业计算领域无疑是大有帮助的。

NT、Unix、Linux

下面这则故事是一个真实的故事。1996年底,美国林肯州内布拉斯加普雷斯大学系统部 准备把他们部门中一套已经陈旧过时的NetWare server更换掉,另外安装一套新的操作系统 。系统部经理Quinn Coldiron当时的首选目标不用说当然是Windows NT 4.0,然而他没有料 到,在安装了NT之后,竟会遇到那么多难以解决的麻烦,多次打电话寻求技术支持又让学校 破费了很多钱。万般无奈之际,他决定试用一下Linux,结果却令他大感意外。从1997年1月 至7月,他们部门的Linux服务器仅意外下档过三次,两次是因为楼里的电源线路发生故障, 另外一次则是因为操作人员的愚笨所致。更令他觉得不可思议的是,在原先那套旧的NetWar e系统上,如果同时有五个用户登录做专业出版,系统就会崩溃;而现在,还是同样的硬件 (256M内存、2块150MHz CPU),但是Linux却可以轻松自如地支持40个用户同时登录做专业 出版。于是他在鉴定白皮书中按耐不住兴奋地说:“Linux服务器已经证明和我所用过的其 他服务器操作系统同样地可靠,而且要比其中的大多数操作系统更为可靠。”
Linux的神奇之处不仅在于它可免费获得和它所发起的声势浩大的软件运动,更在于它 本身强大的性能、卓越的稳定性和众多的功能。Linux刚开始的时候主要是为低端Unix用户 而设计的,它可以使很多已经过了时的硬件重新焕发青春。它在只有4M内存的Intel 386处 理器上就能非常好地运行,而这类机器即使用Windows 3.x也很难进行较好地管理。随着Lin ux用户基础的不断扩大、性能的不断提高、功能的不断增加、各种平台版本的不断涌现,以 及越来越多商业软件公司的加盟,Linux已经在不断地向高端发展,开始进入越来越多的公 司和企业计算领域。虽然到目前为止,还没有哪家公司肯将它的全部信息系统建立在Linux 上,但是Linux已经在很多企业计算领域中大显身手,
据从事Linux开发的Red Hat软件公司说,他们公司现在已拥有了许多第一流的企业用户 和团体用户,其中包括NASA、迪斯尼、洛克希德、通用电气、波音、Ernst & Young、UPS 、IRS、Nasdaq,以及多家美国一流的大学机构等。Red Hat公司的总裁Robert Young认为, Linux最大的单项应用是Internet和Intranet服务器,“从防火墙到Web服务器,Linux据分 析家估计,已成为网上的第二大通用操作系统。”Linux的其它应用从打印服务器到FTP服务 器到数据收集等应有尽有,目前在网上应用最多的Apache Wed服务器也已成为各种标准的Li nux扩散版的一个部分。
即使作为一种台式机操作系统,与许多用户非常熟悉的Unix相比,它的性能也显得更为 优秀。一台Linux服务器支持100到300个用户毫无问题,一台Linux打印服务器支持200到300 台网络打印机更是易如反掌。而且它不大在意CPU的速度,它可以把每种处理器的性能发挥 到极限,到时候用户就会发现,影响系统性能提高的限制因素主要是其总线和磁盘I/O的性 能。正如一些分析家所指出的,Linux已经成为Unix市场大饼中一个重要的非常具有活力的 不断扩大的一角。
但是Linux如何更有效地争取商业市场的支持和信任仍然是它发展中最为关键的问题。 导致这一问题出现的因素主要有以下几点:
一、商业市场中的多数人仍然认为Linux是一种由业余爱好者及网络黑客们所开发的软 件,这一点因为有不少的商业软件公司加入Linux的开发队伍而正在得到改善。
二、有不少人认为,由于Linux缺乏台式应用软件而断定它不可能进入主流操作系统行 列。这一点目前也已有了很大改观,已有多家软件公司向Linux提供了各种性能强大的台式 应用,如Applix和Star公司提供了数种字处理、电子表格、图形应用等程序;Corel WordPe rfect 7、Adabas D和Raima Database Manager++数据库、Netscape Navigator 3.0和Fas t-Track Web服务器、Adobe Acrobat PDF阅读器、FreeBuilder等的Linux版均已问世;甚 至连微软这样的软件业巨人也正在准备推出其分布式计算标准DCOM的Linux版。
三、由于Linux本身独具的这种分布式开发模式,有人认为它最终会乱成一团。Linux就 象《卡勒瓦拉》一样,由最初的约10000行程序经过全球网络上数不清的编程人员的不断添 加,目前的规模已达100万行左右;由Linus本人所控制的主要版本现已达到2.2版,而由各 家商业软件公司所自行开发的扩散版本更是不计其数。如何对这种开发模式进行有效地控制 和管理、减少软件本身不必要的膨胀,确实是决定Linux未来发展的一个关键性问题。
四、最后是微软。虽然Linux在Unix市场上已成为佼佼者,但它在与微软的对抗中到底 能够坚持多久?微软已经扼杀掉了许多新生的操作系统,Linux会不会重蹈覆辙?对这一点 业界中人看法不一,不过多数人认为Linux大有希望。其一是因为Linux 1.0从一出世起就是 一个多少已经完全成型、性能良好、功能齐备的操作系统,这是与那些在经历痛苦而缓慢的 成长过程时就需要抵御微软杀手锏的操作系统不同的。其二是在Linux的背后凝聚了Unix过 去所有的成功并抛弃了其所有缺陷后所形成的Unix的全部精华,这种资源优势要比微软投入 NT的资源优势大得多。
Linus本人在有人问到他会不会对微软构成威胁时不无揶揄地说:“我根本没有打算威 胁微软,主要是因为我根本没有把微软真正视为对手。尤其没有把Windows视为对手——因 为Linux和Windows的目标完全不一样。至于说到Windows NT,我曾经对它发生过兴趣,但是 我越深入进去就越发现它不过是一个带有较稳定的内核的传统的Windows而已。我从中找不 到任何技术上令人感兴趣的东西。依我看,微软做得更多的是怎么去挣钱,而不是去制作一 个更好的操作系统。” 对于Linux的未来,Linus也充满信心:“Linux一直就是最棒的。我对Linux的未来确实 一点儿都不担心,因为从技术方面看,Linux肯定会越变越好;而从非技术方面看,我个人 也看不出有什么需要担忧的。”
我们也衷心希望Linux在前途未卜的茫茫大洋上不要像泰坦尼克号那样去完结一个辉煌 的沉没,而是去开创一个灿烂的新生!


注:此篇文章摘自<<国际电子报>>,这份报纸即将改名为<<网络世界>>。?

本文转自中文Linux论坛