一、无限风光的Linux
Linux的兴起绝对是Internet创造的一个奇迹。1991年,Linux的缔造者,芬兰人Linus还在上大学,他将自己编制的实验性操作系统放上Internet,让电脑爱好者们共享。在1994年以前, Linux还是个鲜为人知的孱弱的操作系统,但由于它具有结构清晰、功能简捷特别是具有完全开放等特点,由互联网编织连接起来的工作团体逐渐形成,在无数爱好者无私的奉献下,Linux得以茁壮成长。从1999年初开始,一轮接一轮的Linux热潮席卷全球,Linux明显展现出挑战操作系统霸主Windows的势头。在1999年金秋的美国Comdex大展上,Linux成为一道亮丽的风景线,有100多家厂商纷纷推出自己的Linux产品。就在我们做这次测试的时候,以Redhat股票为龙头的Linux股成为纽约股市的新贵,风头盖过了前阶段的网络股。
可以这么说,如今的Linux举手投足间都牵动着众多计算机厂商与用户的心。从国内情况来看,有政府的支持、厂商的投入、媒体的赞誉;更有用户的认同。1999年3、4月间,国内开始出现两个Linux中文版本,TurboLinux 3.02和Xteam 1.0;此后不久,信息产业部组织举办“Linux未来发展”高层研讨会,在Linux事业中,首次介入政府的声音:要开发中国自己的操作系统;1999年8月,长城公司宣布率先在PC机上捆绑TurboLinux 4.0简体中文版,9月,TCL 电脑也加入捆绑Linux的阵营;几乎同时,中科院软件所、北大方正和Compaq三家合作,宣布推出“红旗Linux”,这是继TurboLinux、Xteam之后,国内第3个推出的中文Linux操作系统;1999年10月,TomLinux、Cosix Linux等也宣布问世,使国内中文Linux发行版本日渐丰富;1999年11月,TurboLinux公司率先在国内成立“Linux授权认证培训中心”,开始了Linux在国内大规模的应用普及工作;1999年12月,TurboCluster群集服务器版本在中国上市,该项技术是迄今为止国内外市场上可见到的、面向企业级用户的、性能优异功能强大的Linux高端产品,Linux群集技术的出现进一步强化了其在服务器市场的竞争优势。
Linux义不容辞地被广大计算机生产厂商以及用户赋予了挑战Windows的光荣任务。虽然从某种角度讲,它是Unix操作系统的一个“克隆”产品,从诞生之日到现在不到10年时间,还有太多不完善的地方----但如果仔细挖掘Linux的技术内核,我们认为它完全有希望迅速成长并与Windows以及Unix三分天下。
Linux主要由存储管理、进程管理、文件系统、进程间通信等几部分组成,是一个真正的多任务、多用户、多平台的网络操作系统,在许多算法及实现策略上,Linux借鉴了Unix的成功经验,但也不乏自己的特色。
Linux符合X/Open标准,具有完全自由的X Window实现。Linux诞生于Internet,一出生就拥有完善先进的网络特性,用户可以使用所有的网络服务如网络文件系统、远程登录等。它符合POSIX(可移植操作系统接口)标准的系统;可提供具有内置安全措施的分层以及可提供shell命令解释程序和编程语言等。其采用页式存储管理的特点使Linux能更有效地利用物理存储空间,页面的换入换出为用户提供了更大的存储空间。它可以通过DOS“仿真器”DOSEMU、Windows“仿真器”WINE来运行大部分DOS/WIN程序。它还可以通过Samba与网络上的Windows共享资源。Linux继承了Unix在传统教学科研领域的特点和优势,既能很好地充当教学模型的角色,又能作为优秀的开发平台。当然,作为一个正在成长的操作系统,Linux还存在一些不足,比如它不是一个微内核操作系统,也不是一个分布式操作系统,到现在为止,还不是一个健壮的操作系统等等。
Linux相关的产品有很多种,《微电脑世界》评测实验室本次评测的产品主要是以Linux Kernel(内核)为基础的各种发行版本。按常理讲,同一种操作系统,其风格和性能应该相差无几。但Linux却大不一样,现在已知的最小发行版本仅有一张90mm软盘1.44MB的内容;而最大的恐怕得数TurboLinux的10张650MB的光盘。我们常说的Linux发行版本,英文名称为:Linux distribution。它是指基于Linux内核及各种系统管理、应用工具的软件集合。各种发行版本可能有相同的内核,相同的管理应用工具,但他们之间的组合、配置不尽相同,编译环境、参数也可能不一致,这些造成了各种Linux发行版本以不同的面貌出现。Linux具有这样的特性是与它遵循的GNU/GPL分不开的(请参见GNU与GPL)。
二、 评测方法和评测项目
《微电脑世界》一直密切关注Linux技术以及相关产品的发展情况,并且注意到1999年底众多Linux发行版本的上市引起不少用户的兴趣。为了向读者介绍不同Linux发行版本的相关特点以及技术优势,我们在1999年12月组织了此次Linux发行版本的横向测试活动,这一活动得到了国内Linux软件厂商的大力支持,他们以最快时间提供了正在销售或即将销售的正式产品。虽然一些著名的Linux发行商没有进入中国市场,我们也通过其他渠道获得了许多用户关注的Corel Linux、RedHat等产品。本次参测的Linux发行版本基本规格以及厂商信息参见表1。硬件测试平台请参见表2。
一个优秀的操作系统应该是性能出色而且使用方便的。所以,我们的测试主要从这两个方面着手。Linux突出的优势是性能,而对普通用户来说,其易用性却让人头疼。我们认为更多的Linux用户是普通的初级用户,他们的使用往往需要良好的易用性来支持。易用性包含的方面很多,我们将其分为随机附件、安装概貌、安装重点过程、键盘鼠标特性、应用程序及中文处理等几个方面来考察。
随机附件包括使用说明书、安装盘等,这是一个正式产品重要的组成部分,尤其是像Linux这种人们不熟悉、第一次安装使用比较困难的产品,其随机附件做得好会给用户一个良好的印象,并给他们的安装带来方便。安装概貌主要是从整体上评价系统安装程序,安装过程是否顺利,界面是否友好等。一次成功是指在最少的人工干预,尽量选择自动模式、推荐模式下能否一次安装成功。安装重点过程是选取一般Linux安装时最易出问题的地方,查看其处理能力如何。键盘鼠标特性主要评价系统对键盘鼠标的配置和行为的处理是否符合大多数人的习惯,在控制台(console)下,主要是命令行下的编辑键,在X窗口环境下,主要是鼠标的行为,我们一律选择KDE作为测试X窗口环境。应用程序是考察系统缺省安装的应用程序是否丰富。中文处理是国内应用Linux必然要解决的问题,我们这里只对当前版本中的中文处理的表现作出评价,包括显示、输入2个方面。我们还进行了简单的中文国际化、本地化测试(I18N),这主要是针对开发平台,它反映了系统深层次的中文化程度。
需要说明的是,易用性测试的大部分问题难免带有主观倾向,为了尽量避免偏差,我们分别请没有Linux使用经验、有一定使用经验和熟练使用者分别作出评价,最后汇总得出结论。易用性测试见表3(以下表中产品型号省略版本号)。
操作系统的性能评测比较困难。我们参照Unix环境下的测试方法,采用了4种测试程序,分别从4个方面测试每一种Linux平台的性能(测试结果参见表4-1、4-2、4-3、4-4,其中TurboLinux基于4.02版本进行性能测试)。
Bonnie测试是在顺序读、顺序写和随机定位3种模式下对文件系统的传输速率和CPU占用率进行测试,而在顺序读写中又分为单字节读写和成块读写2种,这是Unix下相当全面的文件系统性能测试程序。Nbench采用了著名的ByteMark测试程序的源码,它主要是执行大量的整数、浮点数和字符串的各种运算和排序以及大规模的内存数据移动等操作,反映系统的CPU/OS的性能,最后在整数计算、浮点计算和内存调度3个方面分别作出综合得分,这个分值是以一台标准机(测试软件自带)为基准得出的。Hdbench是一个图形化的测试程序,它进行三角形、矩形和圆形的生成及滚屏测试,反映出X窗口下的性能。Ptester是Web服务器测试程序,它通过不断发送http请求,测试服务器的负荷能力,它的重要指标是每秒请求数和每秒传送字节数。
这4个测试程序,我们都要求在每个测试环境中重新编译,力求减小外部的影响,真实反映系统的性能。根据我们事前的估计,各个发行版本采用的Kernel大同小异,版本号相差不大,系统性能主要体现在各版本制作的编译环境和配置的差异上面。
在Linux系统下,编译和更新Kernel是经常进行的工作,许多用户通过这种方式进行系统升级。由于Linux 的内核源代码有上百万行,编译程序创建新内核的过程中频繁地进行文件读写、内存调度和大量复杂的逻辑运算,而且编译开始后不需要与用户交互,系统的负载始终处在较高水平,所以这也是测试系统性能的有效手段。我们下载了稳定内核Kernel-2.2.0的源代码,在各个测试系统中选择相同的Kernel配置进行编译,根据编译时间的长短来评价系统性能。本项性能测试结果请参见表5。
三、 测试结果分析
从表3中我们可以看出,随机附件各个厂商都比较重视,毕竟Linux是一个新鲜事物,许多用户并不了解它。各中文版都附有详细的中文安装指导和使用参考。TurboLinux的文档写得尤其细致,并附有2张安装软盘,一张是启动盘,一张是硬盘格式化工具。Corel Linux的文档也很详细,遗憾的是现在还没有中文版本,它也附带安装软盘。
各个版本的安装情况五花八门,这也是体现发行版本易用性的重要指标之一。BluePoint、TurboLinux、TomLinux还处于原先的字符菜单界面状态,这种界面操作性还可以,可选择性比较强,但处理不当的话会出现意外的状态,从而使用户不知所措。Xteam、Corel Linux、EasyLinux、RedHat已经仿照Windows的安装风格,实现了完全的图形化界面,操作简便快捷,用鼠标点击操作即可。安装过程中的硬盘分区大部分版本已经做得比较方便和完善。TurboLinux选用的FDISK虽然功能很强,但操作复杂,界面差,估计会在下一版本中被替换掉。Corel Linux可以直接使用DOS/Windows分区安装,为那些想尝试一下Linux的用户提供了方便。组件选择上,图形化安装的版本相对字符界面的版本要受限制些。各个版本X窗口的配置都比较顺利,这与我们配置大众化的i740显卡有关。EasyLinux的安装有些特别,它需要在第二阶段进行X配置。声卡配置就没有这么顺利了,所有的版本都不能自动配置好声卡,安装成功后都没有声音。看来,Linux各个发行版本需要在这方面用些功夫。
鼠标键盘的行为特性是人机界面的重要方面,Linux下可以按照自己的喜好随意配置。但作为发行版本,应该按照大多数人的习惯提供缺省配置。测试中我们感觉TurboLinux和TomLinux控制台命令行下的编辑键,如“Del”键不太妥当。
Linux下的应用程序还是比较丰富的。各个发行版本都尽量提供实用好用的应用软件,所以普通应用都大同小异。如Netscape 浏览器,KDE桌面下的Kedit、Kwrite、Kmail和Kppp等。各个版本又都具有自己的特色,如BluePoint的KDE开发包,TurboLinux的Zwinpro外挂中文平台,Xteam的VCD播放和富有特色的应用程序组织,TomLinux的游戏,Corel Linux的Word Perfect字处理,EasyLinux的StarOffice和Applix Office 文字处理和电子表格。我们尝试了其中部分应用,感觉使用也都非常方便。
针对中文发布版本,我们做了简单的中文测试。X窗口下,在自己支持的内码中,各版本显示都正确,TurboLinux的外挂平台(TomLinux与其用的是同样的软件)支持的内码多一些。控制台下,BluePoint和Xteam支持中文显示。BluePoint的多内码同屏显示比较有特色。各中文发布版本都支持拼音和五笔输入法。Xteam和TurboLinux的输入法更多些。
最后,我们还分别在控制台和X窗口下运行了一个I18N国际化/本地化测试程序。结果只有在TurboLinux 和TomLinux的X窗口下顺利通过。这项测试只针对软件开发,对普通用户的中文使用,现在还看不出有直接影响。
性能测试进行得不是很顺利,主要是因为各个版本所提供的编译开发环境不一致,为了编译通过测试程序,需要我们单独配置环境,而这样对原系统的改动偏大。所以我们采用折中办法,尽量采用原系统环境,如果需要修改,所有版本要同时修改。基于这样的原则,对于Corel Linux和EasyLinux缺省安装不带编译环境和Web服务器的产品,就不包含在前4项性能测试中。
文件系统Bonnie测试中,TurboLinux和TomLinux的优势明显,各项指标均很突出。BluePoint也很不错,在CPU占用率上表现优秀。Nbench测试中,由于在BluePoint上编译通过的程序运行出错,只得到部分数据。Xteam的整数计算有一定优势,而其他版本则在浮点运算上表现优良。
Hdbench是窗口下的综合测试,它反映的文件系统性能(READ/WRITE)、整数和浮点运算性能与前2项测试结果基本一致。窗口图形性能RedHat表现最佳,BluePoint也很不错,而且BluePoint各项表现均衡,没有很差的项目。
Ptester用于测试Web服务器的负荷性能。为了排除网络环境对系统的干扰,我们只在本地进行测试,所以负荷很重,它所反映的就是系统的性能。从结果可以看出,RedHat和BluePoint遥遥领先。
我们在更强劲的硬件平台上重新以开发模式安装了各个系统进行内核编译测试。我们尝试用各个发行版本自身带的内核源码进行编译,发现有些不能编译通过,如:BluePoint和TomLinux。最后,我们从Linux内核源站上下载稳定内核2.2.0作为统一编译的内核,结果非常令人意外,以桌面环境为主打的Corel Linux却夺得头名,以服务器应用闻名的RedHat却很不理想。我们估计有2个原因。一是Corel Linux以桌面环境为主,编译内核时没有开启X,后台的常驻进程比较少,而RedHat后台的常驻进程比较多,占用了一定的内存空间。另一个可能与Corel Linux采用纯正的GNU/Debain发布版本为蓝本有关。
四、 参测产品评价
BluePoint 1.0
随机文档制作精细,安装界面汉化较完善,步骤清晰,提示明确,显卡、网卡支持较好,不能自动装载声卡驱动;只提供KDE桌面,缺省安装常用程序,风格符合习惯;应用程序版本较新;真正内核汉化,控制台支持中文,内核提示信息汉化,部分应用程序汉化,如:Linuxconf,没有通过I18N测试,但不影响当前用户使用。支持ATX电源自动关机。性能测试中,在文件系统,内存管理,浮点计算,整数计算和图形各方面性能取得了很好的平衡,并且为服务器进行的优化相当成功,这在其 HTTP 服务器测试的优秀表现中得到了验证。但其内核编译在缺省安装的情况下无法完成。
这是一套起点很高、细节考虑周到的Linux中文发行版本,其控制台特点显著,适合于服务器应用和开发工作平台。
TomLinux 1.0
简单的使用指导。汉化安装界面,硬盘分区步骤较复杂,没有自动检测出i740显卡,但手动选择显卡后,可以开启X Windows,提供多种桌面环境,应用程序和工具配备较全。很有特点的外挂中文平台,提供完善的中文支持,顺利通过I18N测试。拥有优化的文件系统和优越的浮点计算性能。突出的特色是安装的应用程序更加丰富,游戏的种类相当多。
TurboLinux 4.02
随机文档制作完善,提供安装启动软盘和硬盘分区工具软盘。汉化安装界面,硬盘分区步骤稍显复杂,没有自动检测出i740显卡,但手动选择显卡后,可以开启X Windows,提供多种桌面环境,应用程序和工具配备较全。很有特点的外挂中文平台,提供完善的中文支持。致力于Linux国际化,首次实现了XIM,顺利通过I18N测试。拥有优化的文件系统和优越的浮点计算性能。控制台命令行下编辑键配置有欠缺,X窗口下缺省文本编辑器为vi不太合理。TurboLinux的各种表现得到了我们的赞扬。据悉,其升级产品即将推出,相信升级产品的性能与易用性还将有很大的提升。
XteamLinux 2.0
冲浪平台公司给我们提供的是桌面应用的Linux版本,带有详细的安装指导和命令手册。真正的图形安装界面,中文化程度高,类Windows安装风格,用户容易理解,可自动检测出显卡,可以检测网卡,IP地址需要自己填,有图形工具,不能自动装载声卡驱动。缺省KDE窗口,精心设计桌面,应用和工具完善,符合使用者习惯,提供VCD播放功能,提供KDE开发环境。没有通过I18N测试,但不影响当前用户使用。支持ATX电源自动关机。 ---- 这是一套精心设计的Linux桌面环境。性能测试中的内存管理和整数计算总评名列前茅。凭此良好的桌面环境和优秀的性能,作为中文开发工作站有一定的优势。
Corel Linux 1.0
精心制作的随机文档和安装软盘。真正的图形安装界面,安装快捷,界面友好,可以直接使用DOS/WIN分区安装,显卡和X完全自动配置,但不能自动配置网卡和声卡。精心制作和修饰的KDE桌面环境,完全符合用户习惯,非常好的文件管理器和字处理软件,可与MS Office交换文档,可惜没有中文支持。完全为桌面用户制作的版本,服务器应用需要另外安装。在内核编译测试中脱颖而出,显示出坚实的基础以及更宽的发展前景。
作为一套刚刚在国外上市的Linux发行版本,Corel Linux的“桌面”特点得到了我们的一致好评,它的一项重要工作是进行产品的本地化。
EasyLinux 1.2
简单的使用指导,真正的图形安装界面,安装简便,界面友好。比较有特点的两阶段安装。不能自动配置声卡。按用户类型分多种安装类型,普通用户安装以桌面环境为主,简单快速安装后,就可以使用办公应用和上网浏览,提供与MS Office 兼容的StarOffice(Sun Free版)和Applix Office办公软件。服务器应用和编译环境需要另外安装。支持ATX电源自动关机。
这是一套以易用、实用为主导的发布版本,桌面环境也很出色。“点十次鼠标,大告成功”对初学者有很大诱惑力。
RedHat 6.1
提供文本和图形2种安装界面,适应不同用户需要。图形安装界面友好,可自动检测、配置网卡和显示器。桌面以GNOME为主,也提供KDE和其他桌面环境,应用程序及工具配置齐全,符合用户习惯。控制台和桌面都有完善的工具软件支持。性能测试中,在浮点计算/图形测试和Web服务器测试上均取得最佳成绩。凭借优化的服务器性能,捍卫了其在服务器领域的领导地位。
五、后记
由于Linux的可变性太强,我们的测试特别是性能测试中仅基于各发布版本的缺省配置,不能代表实际的用户环境,其性能测试结果仅作参考。
从我们本次测试的各种发行版本来看,Linux的前途不可估量。无数爱好者与软件厂商的介入给其成长带来了无穷的活力,就在我们的测试即将结束的时候,一些厂商的升级换代产品马上将推出----这就是Linux的魅力,它完全可能在2个月之内完成其他操作系统可能要经过2年才能完成的升级之路。
我们估计,今后Linux将会朝着完善功能、提高效率的方向发展,包括允许用户创建线程、增加实时处理功能、开发适合多处理机体系结构的版本。众人拾柴焰火高----Linux、Unix及Windows NT三足鼎立的时代将为期不远。 ---- (本次评测得到了TurboLinux认证培训学校之一的北京市西城建业培训学校的大力支持,在此表示感谢。)
GNU与GPL
GNU是GNU’s Not Unix(GNU不是Unix)的缩写。GNU是一个操作系统项目的名称,是由自由软件基金会(Free Software Foundation)的董事长Richard M. Stallman于1984年发起的。其目标是创造一套比Unix更优秀而且可以自由使用的操作系统。在其他人的协助下,Stallman还创作了通用公共许可证(General Public License,GPL),这对推动自由软件发展起了重要的作用。与传统的商业软件许可证不同,GPL保证任何人有共享和修改自由软件的自由。任何人有权取得、修改和重新发布自由软件的源代码。并且规定在不增加附加费用的条件下得到源代码(基本的发布费用除外)。这一规定保证了自由软件总的费用是低的。在使用Internet的情况下,自由软件完全实现了免费。GPL条款还规定自由软件的衍生作品必须以GPL作为它重新发布的许可证。这一规定保证了自由软件及其衍生作品继续保持自由状态。GPL条款容许销售自由软件,为公司介入自由软件事业敞开了大门,公司的介入也弥补了自由软件的不足,对推动自由软件应用起了很大的作用。
最早,GNU的系统核心是Hurd----一个基于微内核的系统内核。当开始实施GNU项目时,并没有多少高质量的自由软件可供项目使用。所以,为GNU项目做出贡献的人们先从系统的应用软件和工具入手。因为GPL也是自由软件基金会发表的,所以,GNU操作系统的许多关键组成部分都置于GPL条款的约束下。GNU项目本身产生的主要软件包包括:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk(GNU’s awk)等。还有许多操作系统必不可少的工具。从1994年以来,Linux遵循GNU/GPL版权发布,迅速成长普及。现在,Linux基本上成为GNU事实上的系统内核。
除了按GPL发布的自由软件之外,还有许多按其他许可证发布的自由软件。如X Windows系统、TEX排版系统和Perl语言等就是例子。随着时间的推移,GNU项目将这些软件也包括进来。
Linux发展简史
1991年 21岁的芬兰人Linus Torvalds想看看Intel 386存储管理硬件是怎样工作的,即兴写出了一种新的操作系统,命名为“Linux”。然后在Internet 软件新闻组将程序张贴出来,让人免费下载。到1991年12月,全球范围共100人加入Linux新闻组的电子邮件清单。 代码行数:1万
1992年 全功能台式 Linux 操作系统可在 Intel x86 芯片上运行。增加了图形用户操作界面。 代码行数:4万
1993年 100多个编程人员先后对代码进行了修改。Torvalds捐献出源代码,供核心的5个小组阅览和查对。
1994年 增设了网络功能。 代码行数:17万
1995年 修改代码可在Intel、Digital和Sun SPARC芯片上运行。Linux杂志开始发行。 代码行数:25万
1996年 可同时在几种芯片上运行。 代码行数:40万
1997年 许多国家开始发行Linux月刊。每周都有Linux新版本出现。 代码行数:80万
1998年 约有10000编程人员参与新闻组,进行测试和代码修正。 代码行数:150万
1999年 100多家厂商推出不同版次的Linux产品;以Linux产品为研发内容的公司开始成为股市新贵,Linux的春天到来了。
与测试相关的几个名词
Kernel
Kernel是一个操作系统的内核。它全权负责系统进程的调度,内存的管理,I/O控制等最底层的功能支持。它的效率直接影响整个系统的性能。Linux Kernel是一个多任务、多用户、多平台、多CPU,兼容POSIX,运行效率高,硬件支持广泛的系统内核。由它和许多系统管理应用工具组成一套完整的操作系统,就是我们广义上的Linux,它的完整称呼应该是GNU/Linux。
I18N
I18N是InternationalizatioN (国际化) 的缩写,第一个字 I 与最后一个字 N 之间有 18 个字母,故得名"I18N"。 I18N 是在最底层的系统库上提供一套规则,在这套规则下设计程序,再获得 Locale(本地化)的支持,才能使软件在国际上通用。所以,国际化和本地化是相互依赖的。
X窗口
X窗口泛指Unix/Linux下的图形化桌面环境。它的运行机制要比Windows复杂很多。从底层上讲,X窗口是基于Client/Server模式的。X-server负责传递处理消息,X-client负责输入和显示,他们可通过网络在不同的主机上运行。你看到的一个X窗口是由多个程序支持的。窗口的移动和大小的改变是由独立的窗口管理器控制的。而具体窗口的菜单和按钮等是由一套程序库决定的,统称为widget集,如KDE使用的QT,GNOME使用的GTK+。有了这些支持,X应用程序就和Windows应用程序差不多了,只需要面对应用进行处理。X窗口的运行机制比较复杂,但层次很清楚。它能支持各种不同的桌面风格,适应不同的需求。
Linux的网上资源
Linux的突飞猛进与Internet的功劳密不可分。直到现在,作为Linux的用户,我们仍然需要在Internet里面去挖掘Linux的金矿,或者去为Linux的下一步发展添砖加瓦。