Linux与Windows XX的总体比较
Linux何以备受青睐,致使除微软以外,国际上有名的硬、软件厂商都毫无例外地与之结盟、捆绑。甚至连世界IT的龙头老大“蓝后巨人”IBM也要“全面拥抱Linux”呢?
首先,Linux作为自由软件有两个特点:一是它免费提供源码,二是爱好者可以按照自己的需要自由修改、复制和发布程序的源码,并公布在Internet上。这就吸引了世界各地的操作系统高手为Linux编写各种各样的驱动程序和应用软件,使得Linux成为一种不仅只是一个内核,而且包括系统管理工具、完整的开发环境和开发工具、应用软件在内,用户很容易获得的操作系统。
由于可以得到Linux的源码,所以操作系统的内部逻辑可见,这样就可以准确地查明故障原因,及时采取相应对策。在必要的情况下,用户可以及时地为Linux打 “补丁”(这正是笔者前面文章中讨论的集市模式开发软件最本质的内容),这是其它操作系统所没有的优势。同时,这也使得用户容易根据操作系统的特点构建安全保障系统,不会由于不了解不公开源码的 “黑盒子”式的系统预留的什么 “后门”而受到意外的打击。
第二,究其根本,Linux是一个UNIX系统变种,因此也就具有了Unix系统的一系列优良特性,Unix上的应用可以很方便地移植到Linux平台上,这使得Unix用户很容易掌握Linux。下面简要地描述UNIX亦即Linux的一系列特色。
2.1 UNIX/Linux的主要特色
早期UNIX的主要特色是结构简炼、便于移植和功能相对强大,经过30来年的发展和进化,形成了一些极为重要并稳定的特色,其中主要包括:
1. 技术成熟,可靠性高
经过30来年开放式道路的发展,UNIX的一些基本技术已变得十分成熟,有的已成为各类操作系统的常用技术。实践表明,UNIX是能达到大型主机(mainframe)可靠性要求的少数操作系统之一。目前许多UNIX大型主机和服务器在国外的大型企业中每天24小时,每年365天不间断地运行。例如,不少大企业或政府部门,即所谓肩负关键使命的场合/部门将其整个企业/部门信息系统建立并运行在以UNIX为主服务器的Client/Server结构上。但到目前为止,世界上还没有一家大型企业将其重要的信息系统完全建立在NT上。
2. 极强的可伸缩性
UNIX系统是世界上唯一能在笔记本电脑、PC、工作站,直至巨型机上运行的操作系统,而且能在所有主要CPU芯片搭建的体系结构上运行(包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片)。至今为止,世界上没有第二个操作系统能达到这一点。此外,由于UNIX系统能很好地支持SMP、MPP和Cluster等技术,使其可伸缩性又有了很大的增强。目前,商品化UNIX系统能支持的SMP,CPU数已达到几百甚至更多个,MPP系统中的节点甚至已超过1024个UNIX支持的异种平台Cluster技术也已投入使用。UNIX的伸缩性远远超过了NT操作系统目前所能达到的水平
3. 网络功能强
网络功能是UNIX系统的一又一重要特色,作为Internet网技术和异种机连接重要手段的TCP/IP协议就是在UNIX上开发和发展起来的。TCP/IP是所有UNIX系统不可分割的组成部分。因此,UNIX服务器在Internet服务器中占80%以上,占绝对优势。此外,UNIX还支持所有常用的网络通信协议,包括NFS、DCE、IPX/SPX、SLIP、PPP等,使得UNIX系统能方便地与已有的主机系统,以及各种广域网和局域网相连接,这也是UNIX具有出色的互操作性(Interoperability)的根本原因。
4. 强大的数据库支持能力
由于UNIX具有强大的支持数据库的能力和良好的开发环境,因此多年来,所有主要数据库厂商,包括Oracle、Informix、Sybase、Progress等,都把UNIX作为主要的数据库开发和运行平台,并创造出一个又一个性价比的新记录。UNIX服务器正在成为大型企业数据中心替代大型主机的主要平台。
5. 开发功能强
UNIX系统从一开始就为软件开发人员提供了丰富的开发工具。成为工程工作站的首选和主要的操作系统和开发环境。可以说,工程工作站的出现和成长与UNIX是分不开的。至今为止,UNIX工作站仍是软件开发厂商和工程研究设计部门的主要工作平台。有重大意义的软件新技术的出现几乎都在UNIX上,如TCP/IP、WWW、OODBMS等。
6. 开放性好
开放性是UNIX最重要的本质特性。开放系统概念的形成与UNIX是密不可分的。UNIX是开放系统的先驱和代表。由于开放系统深入人心,几乎所厂商都宣称自己的产品是开放系统,确实每一种系统都能满足某种开放的特性,如可移植性、可兼容性、可伸缩性、互操作性等。但所有这些系统与开放系统的本质特征—不受某些厂商的垄断和控制相去甚远,只有UNIX完全符合这一条件。
7. 标准化
过去,Unix界被分析家和用户批判,因为没有为所有Unix操作系统提供统一的标准。其实,到目前为止,国际标准化组织(ISO)、工业团体恰恰是以UNIX基础制订了一系列标准化,如ISO/IEC的POSIX标准、IEEE POSIX标准、X/Open组织的XPG3/4工业标准以及后来的Spec 1170(因为它包含了1170个应用编程接口,后来改名为UNIX’95)标准。不少人对标准及标准化组织的作用及职权产生了误解。事实上,当标准化组织企图驾驭互相竞争的力量,和企图为用户规定他们的要求时是注定要失败的。比方说,标准只能用于给出道路的规则,而不应用于制造汽车。如果厂家被强迫完全遵从单一的标准,而不允许他们产品有特色,则用户将受害,Unix将变成象任何单一厂家的产品一样,没有任何特色。
Unix标准组织的真实目标是为用户和厂家定义一种规定Unix形态的基础。标准将保证Unix系统是可操作的,并且其应用是便于移植的。但它们也允许相互竞争的开放开发环境能创新和具有技术特色。
当然,由于UNIX是有版权的,而且其源头有多家,许多厂家自行开发,并强调特色而导致UNIX版本的不统一(相比之下,Linux的核心是统一的,各发行厂家只是在外部作了不同程度的开发,但又都要遵循POSIX等标准,所以不会存在UNIX那种四分五裂的表象)。即便如此,Unix系统已经提供了比任何其他操作系统更多的可互操作性。公共的联网和系统管理协议允许用户方便地混用和匹配多种Unix系统。从一种Unix向另一种Unix移植应用只需几天时间,而在完全不同的操作系统间移植或重写代码需要几个月甚至几年时间。
而且Unix工业界还在快速地向前发展,使得互操作性和可移植性更为方便。由独立的X/Open组织管理的Unix’95为操作系统厂家和应用开发商规定了商品Unix的形态。所有的Unix厂家已经从Unix’95规格说明。
开发或购买遵从Unix’95规格的应用可保证用户方便地从一个Unix操作系统向另一个移植。但并不强迫用户购买只遵从Unix’95规格的产品,用户可以开发和遵从开放且自由竞争的市场购买具有新的扩充的产品,以满足自己特殊的需要。
这样,Unix工业界再次为用户提供了选择的权力。如果伸缩性和移植性对用户的业务是最重要的,用户可以选择遵从Unix’95的应用;如果先进技术是关键,则用户可选择某一厂家具有新扩充的应用,当然这些扩充尚未成为标准。
由于Unix不断发展,因此,Unix’95标准将继续发展以接纳某些厂家的创新。
2.2 Linux和Windows XX相比有何特点
1. 可完全免费得到
Linux操作系统可以从互联网上免费下载使用,只要您有快速的网络连接就行;而且,Linux上跑的绝大多数应用程序也是免费可得的。用了Linux就再也不用背”使用盗版软件”的黑锅了。
2. 可以运行在386以上及各种RISC体系结构机器上
Linux最早诞生于微机环境,一系列版本都充分利用了X86CPU的任务切换能力,使X86CPU的效能发挥得淋淋尽致,而这一点连Windows都没有做到。此外,它可以很好地运行在由各种主流RISC芯片(ALPHA、MIPS、PowerPC、UltraSPARC、HP-PA等)搭建的机器上。
3. Linux是UNIX的完整实现
从发展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如WindowsNT等,都是自成体系,无对应的相依托的操作系统。这一区别使得Linux的用户能大大地从Unix团体贡献中获利。无论是Unix的作者还是Unix的用户,都认为只有Unix才是一个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从很多方面得到支持和帮助。因此,Linux作为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix在用户中建立的牢固的地位。
UNIX上的绝大多数命令都可以在Linux里找到并有所加强。UNIX的可靠性、稳定性以及强大的网络功能也在Linux身上一一体现。
4. 真正的多任务多用户
只有很少的操作系统能提供真正的多任务能力,尽管许多操作系统声明支持多任务,但并不完全准确,如Windows。而Linux则充分利用了X86CPU的任务切换机制,实现了真正多任务、多用户环境,允许多个用户同时执行不同的程序,并且可以给紧急任务以较高的优先级。
5. 完全符合POSIX标准
POSIX是基于UNIX的第一个操作系统簇国际标准,Linux遵循这一标准这使UNIX下许多应用程序可以很容易地移植到Linux下,相反也是这样。
6. 具有图形用户界面
Linux的图形用户界面是Xwindow系统。Xwindow可以做MSWindows下的所有事情,而且更有趣、更丰富,用户甚至可以在几种不同风格的窗口之间来回切换。
7. 具有强大的网络功能
实际上,Linux就是依靠互联网才迅速发展了起来,Linux具有强大的网络功能也是自然而然的事情。它可以轻松地与TCP/IP、LANManager、Windows for Workgroups、Novell Netware或Windows NT网络集成在一起,还可以通过以太网或调制解调器连接到Internet上。
Linux不仅能够作为网络工作站使用,更可以胜任各类服务器,如X应用服务器、文件服务器、打印服务器、邮件服务器、新闻服务器等等。
8. 是完整的UNIX开发平台
Linux支持一系列的UNIX开发工上,几乎所有的主流程序设计语言都已移植到Linux上并可免费得到,如C、C++、Fortran77、ADA、PASCAL、Modual2和3、Tcl/TkScheme、SmallTalk/X等。
总而言之,Unix就是可供各种用户选择的对象。一个操作系统已经使分布式计算成为现实。一个操作系统正在使新形式的交互娱乐成为现实并正确领导通向新的工程和商业应用的路。这就是Unix所体现的精神。但Unix还不止于此。主要地,Unix给用户选择最佳应用、最佳开发环境、最佳网络功能和最佳硬件的自由,以满足用户的业务要求。Unix还给用户选择何时升级系统的自由,甚至当用户改变主意时,用户可以以最少的痛苦来安装一个新系统,只要业务需要。
Unix专门献身于使用户保持选择的权力。
三、 主要产品的竞争
上面我们从总体上讲述了UNIX从而也是Linux的特点,下面我们从服务器,桌面机和嵌入式三个不同层面上来比较Linux与Windows之间的优缺点、强项和弱处。
3.1服务器操作系统——Linux与NT
服务器是涉及一大类机器的统称,最高端,用作超级计算或顶级企业和网络服务器的MPP(大规模并行处理机)、SMP(对称多处理机)、Cluster(集群机),Mainframe(大型主机);到普通商用数据库服务器的中型机,如IBM AS/400,中高档服务器如IBM RS/6000/系列机,HP 9000/K系列,SUN Ultra SPARC中高档服务器(如10000系列)、SGI的1000系列等。以及低端,用作邮件、文件/打印服务器等的普通PC服务器,门类繁多,不一而足。在这方面Linux都有其产品,而NT基本上是处于PC服务器档次上的操作系统。
参考资料:http://www.ccw.com.cn/htm/app/linux/viewpoint/01_7_26_3.asp
Linux和Windows的区别
和Linux一样,Windows系列是完全的多任务操作系统。它们支持同样的用户接口、网络和安全性。但是,Linux和Windows的真正区别在于,Linux事实上是Unix的一种版本,而且来自Unix的贡献非常巨大。是什么使得Unix如此重要?不仅在于对多用户机器来说,Unix是最流行的操作系统,而且在于它是免费软件的基础。在Internet上,大量免费软件都是针对Unix系统编写的。由于有众多的Unix厂商,所以Unix也有许多实现方法。没有一个单独的组织负责Unix的分发。现在,存在一股巨大的力量推动Unix社团以开放系统的形式走向标准化。另一方面Windows系列是专用系统,由开发操作系统的公司控制接口和设计。在这个意义上这种公司利润很高,因为它对程序设计和用户接口设计建立了严格的标准,和那些开放系统社团完全不一样。一些组织正在试图完成标准化Unix程序设计接口的任务。特别要指出的是,Linux完全兼容POSIX.1标准。
Linux与Unix的区别
某些PC机的Unix和Linux在实现方面相类似。几乎所有的商业Unix版本都基本支持同样的软件、程序设计环境和网络特性。然而,Linux和Unix的商业版本依然存在许多差别。Linux支持的硬件范围和商业Unix不一样。一般来说,商业Unix支持的硬件多一些,可是Linux支持的硬件也在不断扩大。突出的是,Linux至少和商用Unix一样稳定。对许多用户来说,最重要的因素是价格。Linux是免费软件,用户可以从Internet网上下载。如果上网不方便,可以很便宜地通过邮购得到Linux的磁盘或CD-ROM。当然也可以直接从朋友那里得到。商业Unix的价值不应被贬低。除了软件本身的价格外,用户还需支付文档、售后支持和质保费。对于较大的机构,这些都很重要,但是PC机用户也许从中得不到什么好处。许多商业公司和大学等单位已经发现,在实验室用廉价的PC机运行Linux比用工作站运行商业Unix还好。Linux可以在PC机上提供工作站的功能,而PC机的价格是工作站的几分之一。也有一些针对PC机的便宜的Unix,其中最有名的是386BSD。在许多方面,386BSD软件包和Linux兼容,但Linux更适合用户的需求。最显著的是,Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献。相比之下,386BSD是由封闭的团队开发的。正是这样,这两种产品存在着严重的概念上和设计上的差别:Linux的目标是从头开始开发一个完整的Unix系统;386BSD的目标则是对现有的BSD做些修改,以适合80386系统。
Linux与其他操作系统的区别
Linux可以与MS-DOS、OS/2、Windows等其他操作系统共存于同一台机器上。它们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。
目前运行在PC机上的操作系统主要有Microsoft的MS-DOS、Windows、Windows NT、IBM的OS/2等。早期的PC机用户普遍使用MS-DOS,因为这种操作系统对机器的硬件配置要求不高,而随着计算机硬件技术的飞速发展,硬件设备价格越来越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用Windows、Windows
NT等具有图形界面的操作系统。Linux是新近被人们所关注的操作系统,它正在逐渐为PC机的用户所接受。那么,Linux与其他操作系统的主要区别是什么呢?下面从两个方面加以论述。
首先看一下Linux与MS-DOS之间的区别.在同一系统上运行Linux和MS-DOS已很普遍,就发挥处理器功能来说,MS-DOS没有完全实现x86处理器的功能,而Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。Linux可以直接访问计算机内的所有可用内存,提供完整的Unix接口。而MS-DOS只支持部分Unix的接口。
就使用费用而言,Linux和MS-DOS是两种完全不同的实体。与其他商业操作系统相比,MS-DOS价格比较便宜,而且在PC机用户中有很大的占有率,任何其他PC机操作系统都很难达到MS-DOS的普及程度,因为其他操作系统的费用对大多数PC机用户来说都是一个不小的负担。Linux是免费的,用户可以从internet上或者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。
就操作系统的功能来说,MS-DOS是单任务的操作系统,一旦用户运行了一个MS-DOS的应用程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。而Linux是多任务的操作系统,用户可以同时运行多个应用程序。
再看一下Linux与OS/2、Windows、Windows NT之间的区别。
从发展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如Windows NT等,都是自成体系,无对应的相依托的操作系统。这一区别使得Linux的用户能大大地从Unix团体贡献中获利。因为Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年代中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是Unix的作者还是Unix的用户,都认为只有Unix才是一个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从很多方面得到支持和帮助。因此,Linux做为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix在用户中建立的牢固的地位。
从使用费用上看,Linux与其他操作系统的区别在于Linux是一种开放、免费的操作系统,而其他操作系统都是封闭的系统,需要有偿使用。这一区别使得我们能够不用花钱就能得到很多Linux的版本以及为其开发的应用软件。当我们访问Internet时,会发现几乎所有可用的自由软件都能够运行在Linux系统上。有来自很多软件商的多种Unix实现,Unix的开发、发展商以开放系统的方式推动其标准化,但却没有一个公司来控制这种设计。因此,任何一个软件商(或开拓者)都能在某种Unix实现中实现这些标准。OS/2和Windows
NT等操作系统是具有版权的产品,其接口和设计均由某一公司控制,而且只有这些公司才有权实现其设计,它们是在封闭的环境下发展的。