防止分化 解读Linux最新标准LSB 3.0( 三 )


三、LSB标准的构成
LSB是一种应用程序二进制接口,主要解决Linux系统与应用程序之间的兼容问题 。LSB是在IEEE POSIX源代码标准和Unix规范基础上建立起来的,包含多种接口技术 。也有一些接口技术未被LSB收取,这些接口大多是开发接口或用户级工具 。LSB可以将源代码标准扩展至其它领域,例如图形领域等 。此外,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
【防止分化 解读Linux最新标准LSB 3.0】LSB-PPC32
LSB-PPC64
LSB-S390
LSB-S390X
LSB-AMD64
2. 测试软件集合
其中包括Linux平台测试软件和Linux二进制兼容的应用程序 。
针对Linux平台的测试步骤
为了增加LSB标准的权威性和可信度,FSG专门推出了“LSB认证”产业标准及一系列测试项目 。只有通过所有测试的系统和应用软件才能获得LSB认证证书 。总的来看,针对Linux系统的测试主要有以下四个步骤:
1.了解认证程序和步骤;
2.对系统进行非正式测试;
3.申请进行认证测试;
4.进行正式测试并提交测试结果 。
参加测试的Linux系统提供商必须了解LSB测试的过程,即系统提供商必须保证自己的产品通过所有的兼容性测试,签署商标认证协议并提交FSG 。成功通过所有测试的Linux系统名称将列入FSG网页的认证登记表,向全世界公开 。
针对ISV应用软件的测试步骤
针对应用软件的测试步骤与Linux系统的测试步骤大同小异 。首先,二者所选择的测试套件不同;其次,选择的产品标准也不同,应用软件选择的产品标准包括支持IA32、IA64、32位PowerPC、64位PowerPC、S/390、S/390X和64位AMD技术的LSB 3.0应用程序 。
支持LSB标准的应用软件主要应具备以下要素:
1.支持LSB标准的应用软件只能使用运行环境提供的LSB接口;
2.应用软件必须经正确打包以确保不同Linux系统和应用软件的兼容性;
3.应用软件提供商必须证明该应用软件可以在LSB示范系统下运行正常;
4.应用软件必须在两种不同的LSB运行环境下运行正常;
5.应用软件和其它软件套件必须安装在正常的目录下;
6.所有支持LSB标准的软件套件名称必须以“lsb-”开头 。
LSB3.0 的功能测试软件包括13个:
lsb-apache、lsb-celestia、lsb-expect、lsb-groff、lsb-lynx、lsb-python lsb-rsync、lsb-samba、lsb-tcl、lsb-xpaint 、lsb-xpdf。可以在这里下载:http://www.linuxbase.org/download/

推荐阅读