当前位置:嗨网首页>书籍在线阅读

14-Linux、标准、Linux标准规范(Linux Standard Base)

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.3.8 Linux、标准、Linux标准规范(Linux Standard Base)

遵守各种UNIX标准,尤其是符合POSIX和SUS规范,是Linux(即内核、glibc以及工具)开发的总体目标。可是,在写作本书之际,尚无Linux发行版被The Open group授予“UNIX”商标。造成这一问题的主要原因不外乎是时间和费用。为了获得这一冠名,每个厂商的发行版都要经受规范符合度检查,每当有新的发行版诞生,还需重复执行上述检查。不过,正是由于Linux实际上几近于符合各种UNIX标准,才令其在UNIX市场上如此成功。

对于大多数商业UNIX实现来说,都是由同一家公司来开发和发布操作系统的。Linux则有所不同,其实现与发行是分开的,多家组织——无论是商业性质还是非商业性质——都握有Linux的发行权。

Linus Torvalds并不参与或支持任一特定Linux发行版的发行。然而,就参与Linux开发的其他人而言,情况更为复杂。许多从事Linux内核及其他自由软件项目开发的人员要么受雇于各家Linux发行商,要么就职于对Linux抱有浓厚兴趣的某些公司(诸如IBM和HP)。这些公司允许其程序员为特定Linux项目的开发投入一定的工作时间,这虽然对Linux的发展方向有所影响,但还没有哪家公司能够真正左右Linux的开发。更何况,很多参与Linux和GUN项目的其他开发者都是义工。

写作本书之际,Torvalds受雇成为Linux基金会会员(http://www.linux-foundation.org,之前的开源码发展实验室OSDL),该基金会是一家由多个商业和非商业组织组成的非赢利性联盟,旨在推动Linux的成长

由于Linux的发行商众多,并且内核的开发者又无法控制Linux发布版的内容,因此还没有诞生“标准”的商业Linux。一般情况下,每家Linux发行商所提供的内核都是基于某特定时间点发布的主要内核(比如Torvalds)版本的快照,最多不过针对其打上几个补丁。发行商普遍认为,这些补丁所提供的特性可以在一定程度上迎合商业需求,从而能够提高市场竞争力。在某些情况下,主要内核版本稍后会打上这些补丁。实际上,某些新内核特性最初正是由某个Linux发行商开发而成,最终被纳入主要内核版本之前,这些新特性早已随着发行商的Linux发布版销售了。例如,被正式纳入主线2.4内核版本之前,版本3的Reiserfs日志文件服务器已经随着某些Linux发布版销售很长时间了。

上面的论述所要说明的就是由不同Linux发行公司提供的系统(往往)存在(细微的)差别。这使人在一定程度上不禁想起在 UNIX 发展之初,其实现方面所存在的各种差异。为了保证不同 Linux 发布版之间的兼容性,LSB 付出了不懈的努力。为了达成上述愿望,LSB(http://www.linux-foundation.org/en/LSB)开发并推广了一套Linux系统标准,其主要目的是用来确保让二进制应用程序(即编译过的程序)能够在任何符合LSB规范的系统上运行

由LSB所推广的二进制可移植性与POSIX所推广的源码可移植性可谓“一时瑜亮”。源码可移植性是指以C语言编写的程序可在任何符合POSIX规范的系统上编译并运行。而二进制可移植性则要苛刻得多,通常,只要硬件平台不一,便无法实现。二进制可移植性允许我们在某特定平台上将程序一次编译“成型”,然后,便可在任何符合LSB标准的Linux实现上运行该编译好的程序,当然,符合LSB标准的Linux实现必须运行在相同的硬件平台之上。对于在 Linux 上开发应用程序的独立软件开发商来说,二进制可移植性是其生存的基本前提。