服务器 频道

解读Linux最新标准LSB 3.0

  二、 LSB发展的路线图

  LSB由FSG开发和维护。FSG是一个独立的非盈利组织,该组织专注于通过发展和促进标准来加速开放源码软件的发展。几年前,一些志愿人员发起了LSB项目, LSB项目的目的是发展和改进标准,提高Linux和其它类似系统间的兼容性,使应用软件可以在任何系统上运行。 LSB标准定义了一个二进制环境和与之相关的标准文档,在这个二进制环境中,任何一个符合LSB标准的应用程序都能够正常运行。LSB标准文档包括了一系列基础API、库和互用性标准,还包括了测试套件、开发环境、执行案例和开发文档。 随着LSB开发的深入,一些大的Linux发行商开始积极参与其中,一些大型企业,如HP和IBM等也逐渐加入。

  2000年5月,自由标准组织正式成立,全面负责LSB计划。

  2001年7月4日,LSB 1.0发布,迈出了Linux标准化道路上重要的一大步。LSB 1.0的规范仅包括了通用LSB(LSB Common)1.0.0。

  2002年2月4日,在美国召开的LinuxWorld大会上,HP、IBM、拓林思、SuSE、Red Hat、Caldera和Ximian公司联合发布了LSB 1.1。LSB 1.1对Linux核心功能和一些组件进行了标准化。它包括一组公共API、一个开发包和一些测试功能。LSB 1.1在1.0的基础上增加了对IA32架构处理器的支持,规范包括通用LSB 1.1.0和IA32处理器专用规范(LSB IA32)1.1.0。LSB 1.2 LSB 1.2包括了通用LSB规范及对IA32、IA64和PPC32架构处理器的专用规范。LSB 1.3 LSB 1.3在1.2的基础上又增加了对IBM S/390和S/390X的支持。规范包括通用LSB 1.3、LSB IA32 1.3、LSB IA64 1.3、LSB PPC32 1.3、LSB S390 1.3和LSB S390X 1.3。

  2004年9月14日正式发布LSB 2.0。其最大特点是增加了对C++的二进制接口。

  2004年10月21日,LSB 2.0.1发布。

  2005年7月1日, LSB 3.0发布。

  LSB 3.0更新了原来版本的一些基本规范和执行,特别是SUS(Single Unix Specification,单一Unix规范)的升级。以SUS 3.0为基础。SUS 3.0同时也是IEEE 1003 1-2001标准(POSIX)和ISO/IEC 9945:2003标准。LSB 3.0中最重要的是文档的重构和LSB上层附加标准的发展。文档重构的目的是推动LSB未来的发展。LSB 3.0中另一个重要的新特点是引入了对POSIX线程和C++应用的支持,它增加了C++的应用二进制接口(ABI),用于改善代码互用性。 这一特点意义重大,因为现在的大多数应用都是用C++编写,通过在LSB中加入C++支持,使数以千计的软件开发商能以较低成本将他们的应用移植到Linux上,由此带来Linux应用软件数量上的突飞猛进。LSB 3.0的文档结构是附加规范模块的根基,这些附加规范模块在核心LSB规范(Core LSB Specification)之上。这些新模块允许新功能的增加,其中一些功能甚至是被认为在LSB范围之外的。新模块还允许LSB以外的组织通过使用LSB确定的框架来添加新功能。LSB 3.0.0 标准文档,LSB标准发展到了3.0,结构与2.0一样。LSB 3.0 基于新的C++ 二进制接口,还有其他的改进。另外还包括PAM和FHS 2.3。,以及包括加入gcc3.4,librt,一些新功能和新接口以及新命令等。

  三、LSB标准的构成

  LSB是一种应用程序二进制接口,主要解决Linux系统与应用程序之间的兼容问题。LSB是在IEEE POSIX源代码标准和Unix规范基础上建立起来的,包含多种接口技术。也有一些接口技术未被LSB收取,这些接口大多是开发接口或用户级工具。LSB可以将源代码标准扩展至其它领域,例如图形领域等。此外,LSB还包括一些必要的技术细节,例如支持大型二进制应用软件平台的二进制执行文件格式等。

  1.文档

  LSB 3.0的文档结构是附加规范模块的根基,这些附加规范模块在核心LSB规范(Core LSB Specification)之上。这些新模块允许新功能的增加,其中一些功能甚至是被认为在LSB范围之外的。新模块还允许LSB以外的组织通过使用LSB确定的框架来添加新功能。表1是LSB 3.0规范的重要组成,Architecture栏目是3.0文档,空白处表示没有建立相关文档。包括公共规格(gLSB)和特殊架构规格(archLSB)认证,其中gLSB定义了那些基于LSB 的程序在运行过程各模块间的标准接口,archLSB定义了基于不同架构的处理器(CPU)的标准接口。

  表1 LSB 3.0文档组成

文档集

功能域

Architecture

Generic

IA32

IA64

PPC32

PPC64

S390

S390X

AMD64

LSB Base

LSB

LSB-Core-generic

LSB-Core-IA32

LSB-Core-IA64

LSB-Core-PPC32

LSB-Core-PPC64

LSB-Core-S390

LSB-Core-S390X

LSB-Core-AMD64

C++

LSB-CXX-generic

LSB-CXX-IA32

LSB-CXX-IA64

LSB-CXX-PPC32

LSB-CXX-PPC64

LSB-CXX-S390

LSB-CXX-S390X

LSB-CXX-AMD64

Graphics

LSB-Graphics

Individual

LSB

LSB-generic

LSB-IA32

LSB-IA64

LSB-PPC32

LSB-PPC64

LSB-S390

LSB-S390X

LSB-AMD64

0
相关文章