1.Linux发展壮大有很多原因,主要有:
(1)低成本
由于Linux 是开放源代码的操作系统,除了Kernel免费以外,它的许多系统程序以及应用程序也是自由软件,可以从网上免费获得。所以它的软件成本非常低廉。
Linux最初是从大学生开发出来的,并由重多的业余爱好者共同丰富和完善它的功能,所以有许多的学生和计算机从业人员,已经具备Linux的技能。而且在低端的PC,PC服务器上也可使用,而且普及率越来越高。人才储备比较充足,用人单位可以比较容易地招到这方面的人才。而且,众多的企业级的用户的计算环境是低端(PC,PC服务器)和高端(UNIX服务器或中型机甚至大型机)计算机共存,不同厂商的计算机共存(涉及的操作系统可能有Windows,IBM AIX,HP-UNIX,SUN Solaris 等等),这就要求计算机系统的管理和维护人员具有多个操作系统的技能,而如果采用Linux,由于几乎所有档次的计算机平台都支持Linux,所以技术人员只需这一种操作系统的培训就可以了。
Linux能够在几乎所有的计算机平台上运行,包括PC、PC服务器、UNIX服务器、中型机、大型计算机上,给用户的应用软件在不同的平台之间的移植创造了极为便利的条件。
例如,企业级用户随着业务的不断增长,硬件平台从小型的PC服务器升级到较高端的UNIX服务器,甚至更高端的中型机或大型机的情况是极为常见的。过去,由于PC服务器使用的是Windows 操作系统,而UNIX 服务器使用的操作系统,中型机和大型机使用的是厂商提供的专用系统,所以在不同的平台之间的软件移植,可能会发生中间件软件的版本更换,应用软件的重新编译,甚至是应用软件源代码的修改,很可能需要比较大的人力物力的投入,而如果采用了Linux 操作系统,不同平台之间的移植就会容易的多。
由于众多的企业级的用户的计算环境是低端和高端计算机共存,不同厂商的计算机共存,如果将操作系统都统一成Linux, 系统的一致性,可降低管理的成本。同时,任何一个操作系统,都不是完美的,都有一些或大或小的漏洞甚至是错误。由于Linux是一个开放源代码的软件,有众多的互联网上志愿开发者在协同工作,使得Linux的功能的完善和漏洞的发现和修改的速度非常快,降低了使用和管理的风险,从而降低了管理的成本。
(2)高性能
Linux高性能方面的特点表现在Linux系统资源的低占用率和在高性能运算的优势。
(3)操作系统的低占用率
Linux 是由内核(kernel)以及在其之上的实用程序构成的,内核负责管理计算机的各种资源,如处理器和内存,而且必须保证合理地分配资源。当Linux启动时,内核被调入内存,并一直驻留在内存中直到关机断电。同大多数的Unix或者类Unix系统类似,Linux的内核在设计的时候被设计的尽量很小,把许多工作交给内核以外的实用程序执行。通过利用Linux这个特点,用户在安装Linux的时候可以定制安装的应用程序的多少,在某些情况下用户可以仅安装一个Linux的核心。
(4)Linux在高性能运算方面的优势
在科学计算和石油勘探等高性能计算领域应用最为广泛的是高性能计算群集技术(High Performance Computing Cluster,简称HPC Cluster)。它是一种并行计算群集的实现方法。近年来,新的HPC系统正迅速崛起,这就是使用运行Linux操作系统的Intel平台的计算机来构建HPC Cluster。由于使用Linux操作系统,通用的硬件平台和标准的网络组件,群集中的各个结点价格相对低廉,扩展容易实现,从而可以得到更高的性价比。Linux 可以运行在PC、PC服务器上这些传统上是Windows 操作系统垄断的领域,在这一领域, Linux的出现好似一股春风吹来,不仅打破了Windows的垄断,而且它在功能和性能上,都优于Windows操作系统,而更接近与高端的UNIX系统。使低端的用户,也能享用到某些只有高端系统才能带来的好处。
(5) 高可扩展性、可维护性
Linux具有的可扩展性与可维护性使Linux具有更多的优势。
可扩展性
标准的Linux实用程序有着大量的功能,开发人员可以通过修改源代码来进行功能的扩展。Linux可以在广泛的硬件平台上运行且有类似的接口,用户可以把应用程序从一个Linux系统很方便的移植到另外一个Linux系统。
可维护性
由于Linux的用户界面与各个商业版本的UNIX非常相近,几乎所有的IT技术人员都对其操作界面有相当的了解。此外,由于Linux可以在各种硬件平台上运行,熟悉Linux的技术人员可以很容易地管理多种硬件平台上的应用。目前很多版本的Linux比如红旗Linux的用户界面都在模仿Window 进行开发,因此可以方便非IT技术人员实用。
开放的标准
Linux是一个从公开源代码发展来的操作系统,因此奠定了Linux相较其他诸如Windows、以及各商业版本UNIX操作系统的先天优势,由于全世界无数的技术人员都可以帮助Linux修改系统错误,提升性能,因此到目前Linux已经迅速成为一个相对健壮的操作系统,并且也越来越多的跻身各种的企业关键业务之中。
2.GNU计划
GNU是自由软件之父Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证(General Public License,简称GPL)。Linux以及与他有关的大量软件是在GPL的推动下开发和发布的。自由软件之父 - Richard Stallman 像一个神态庄严的传教士一样喋喋不休地到处传播自由软件的福音,阐述他创立GNU的梦想:“自由的思想,而不是免费的午餐”。这位自由软件的“顶级神甫”为自己的梦想付出了大半生的努力,他不但自己创作了许多自由软件,如:GCC、和GDB,在他的倡导下,目前人们熟悉的一些软件如BIND、Perl、Apache、TCP/IP等都成了自由软件的经典之作。如果说Richard Stallman创立并推动了自由软件的发展,那么,Linus Torvalds毫不犹豫奉献给GNU的Linux,则把自由软件的发展带入到一个全新的境界。软件产业在70年代成就了两位针锋相对的领袖人物,来自哈佛大学的比尔·盖茨和Richard M.Stallman。前者宣布了Copyright(版权)时代的到来,并构建了微软帝国的辉煌;后者于1984年创立自由软件体系GNU,拟定普遍公用版权协议(GeneralPublicLicense,简称GPL),今天Linux的成功就得益于GPL协议。 所有GPL协议下的自由软件都遵循RichardM.Stallman的”Copyleft”(非版权)原则:即自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。
GNU 计划和自由软件基金会FSF(the Free Software Foundation)是由Richard M. Stallman 于1984 年一手创办的。旨在开发一个类似UNIX 并且是自由软件的完整操作系统:GNU 系统(GNU 是”GNU’s Not Unix”的递归缩写,它的发音为”guh-NEW”)。
各种使用Linux 作为核心的GNU 操作系统正在被广泛的使用。虽然这些系统通常被称作”Linux”,但是Stallman 认为,严格地说,它们应该被称为GNU/Linux系统。
到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境。这是Linux 能够诞生的基础之一,以至于目前许多人都将Linux 操作系统称为“GNU/Linux”操作系统。
3.GPL协议
GPL,是General Public License的缩写,是一份GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─直有GNU通用公共授权英文原文的版本始具有此等效力。GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。 GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的 整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。因此,一项遵循GPL流通 的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左” 。
在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL)。
GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。
GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的 整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。因此,一项遵循GPL流通 的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。
GPL协议最主要的几个原则:
(1)确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
(2)GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
(3)无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。
(4)开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。
4.POSIX标准
POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX 是为了读音更像 UNIX)。电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX。许多其它的操作系统,例如 DEC OpenVMS 和 Microsoft Windows NT,都支持 POSIX 标准,尤其是 IEEE Std. 1003.1-1990(1995 年修订)或 POSIX.1,POSIX.1 提供了源代码级别的 C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。 POSIX 现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。
POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口。用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植和运行。它是在1980 年早期一个UNIX 用户组(usr/group)的早期工作基础上取得的。该UNIX 用户组原来试图将AT&T 的System V 操作系统和BerkeleyCSRG 的BSD 操作系统的调用接口之间的区别重新调和集成。并于1984 年定制出了/usr/group 标准。
在90 年代初,POSIX 标准的制定正处在最后投票敲定的时候,那是1991-1993 年间。此时正是Linux刚刚起步的时候,这个UNIX 标准为Linux 提供了极为重要的信息,使得Linux 能够在标准的指导下进行开发,并能够与绝大多数UNIX 操作系统兼容。在最初的Linux 内核源代码中(0.01 版、0.11 版)就已经为Linux 系统与POSIX 标准的兼容做好了准备工作。