前言
什么是LSB(借用了这位博主的高见)
LSB文档下载
自用,如有错误请指出,不胜感激
本系列基于LSB-Core-Generic 5.0
介绍
The LSB defines a binary interface for application programs that are compiled and packaged for LSB-conforming implementations on many different hardware architectures. A binary specification must include information specific to the computer processor architecture for which it is intended. To avoid the complexity of conditional descriptions, the specification has instead been divided into generic parts which are augmented by one of several architecture-specific parts, depending on the target processor architecture; the generic part will indicate when reference must be made to the architecture part, and vice versa.
LSB为应用程序定义了二进制接口用于在不同的硬件平台上编译和打包出符合LSB的程序, 因此必须定义二进制规范来包含未来将要运行的计算机硬件平台的信息。 为了防止描述条件太复杂,我们根据目标处理器体系结构,划分出通用部分。 通用部分将指示何时必须引用体系结构部分,反之亦然。
This document should be used in conjunction with the documents it references. This document enumerates the system components it includes, but descriptions of those components may be included entirely or partly in this document, partly in other documents, or entirely in other reference documents. For example, the section that describes system service routines includes a list of the system routines supported in this interface, formal declarations of the data structures they use that are visible to applications, and a pointer to the underlying referenced specification for information about the syntax and semantics of each call. Only those routines not described in standards referenced by this document, or extensions to those standards, are described in the detail. Information referenced in this way is as much a part of this document as is the information explicitly included here.
该文档应与其引用的文档一起使用。 本文档列举了它包含的系统组件,但是这些组件的描述可能全部或部分包含在本文档中,部分包含在其他文档中,或完全包含在其他参考文档中。(应该指的是官网上的其他文档)
The specification carries a version number of either the form x.y or x.y.z. This version number carries the following meaning:
- The first number (x) is the major version number. Versions sharing the same
major version number shall be compatible in a backwards direction; that is, a
newer version shall be compatible with an older version. Any deletion of a library results in a new major version number. Interfaces marked as deprecated may be removed from the specification at a major version change. - The second number (y) is the minor version number. Libraries and individual
interfaces may be added, but not removed. Interfaces may be marked as
deprecated at a minor version change. Other minor changes may be permitted at the discretion of the LSB workgroup. - The third number (z), if present, is the editorial level. Only editorial changes
should be included in such versions.
Since this specification is a descriptive Application Binary Interface, and not a source level API specification, it is not possible to make a guarantee of 100% backward compatibility between major releases. However, it is the intent that those parts of the binary interface that are visible in the source level API will remain backward compatible from version to version, except where a feature marked as “Deprecated” in one release may be removed from a future release. Implementors are strongly encouraged to make use of symbol versioning to permit simultaneous support of applications conforming to different releases of this specification.
LSB is a trademark of the Linux Foundation. Developers of applications or implementations interested in using the trademark should see the Linux Foundation Certification
Policy for details.
这一段在讲解版本号命名规则,就不看了
关于LSB通用部分及其大致范围
The Linux Standard Base (LSB) defines a system interface for compiled applications and a minimal environment for support of installation scripts. Its purpose is to enable a uniform industry standard environment for high-volume applications conforming to the LSB.
These specifications are composed of two basic parts: a common part describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part describing the parts of the interface that vary by processor architecture. Together, the common part and the relevant architecture-specific part for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture.
The LSB contains both a set of Application Program Interfaces (APIs) and Application Binary Interfaces (ABIs). APIs may appear in the source code of portable applications, while the compiled binary of that application may use the larger set of ABIs. A conforming implementation provides all of the ABIs listed here. The compilation system may replace (e.g. by macro definition) certain APIs with calls to one or more of the underlying binary interfaces, and may insert calls to binary interfaces as needed.
The LSB is primarily a binary interface definition. Not all of the source level APIs available to applications may be contained in this specification.
LSB定义了系统接口和用于支持安装脚本的最简环境。其目的是为在LSB标准下运行的应用程序提供统一环境。
这些规范由两个基本部分组成:一个通用部分描述了接口的那些部分,这些部分在LSB的所有实现中保持不变;而特定于体系结构的部分描述了该接口的各个部分,这些部分随处理器体系结构的不同而变化。单个硬件体系结构的公共部分和相关体系结构特定部分一起为公共硬件体系结构的系统上提供了完整的接口规范。
LSB包含一组应用程序接口(API)和应用程序二进制接口(ABI)。 API可能会出现在可移植源代码中,而已编译二进制应用程序可能会使用更大的ABI集。编译系统可以通过对一个或多个ABI的调用来替换某些API,并且可以根据需要插入对ABI的调用。LSB主要是二进制接口定义。并非所有可供应用程序使用的源代码级API都包含在此规范中。
This is the common part of the Core module of the Linux Standard Base (LSB), LSB Core - Generic. This module provides the fundamental system interfaces, libraries, and runtime environment upon which all conforming applications and libraries depend.
LSB Core - Generic, the common part, should be used in conjunction with an architecture-specific part. Whenever a section of the common part is supplemented by architecture-specific information, the common part includes a reference to the architecture-specific part. Architecture-specific parts of the LSB Core Specification may also contain additional information that is not referenced in the common part.
Interfaces described in this part of the LSB Core Specification are mandatory except where explicitly listed otherwise. Interfaces described in the LSB Core module are supplemented by other LSB modules. All other modules depend on the presence of LSB Core.
这是LSB Core模块的通用部分, 该模块提供了应用程序和库所依赖的基本系统接口,库和运行时环境。
LSB Core-Generic,既LSB通用部分,应与特定的体系结构的部分结合使用。 每当通用部分中补充有特定于体系结构的信息时,公用部分都引用包含对特定于体系结构。 LSB核心规范中用于指定特定体系结构的部分可能还包含公共部分中未引用的其他信息。(不太清楚这个可能未引用的信息指的是什么,可能我理解的有问题,懂的朋友可以指点一下我)
LSB核心规范描述的接口是强制性的(应该指的是ABI的实现),除非另有明确列出。 LSB核心模块中描述的接口由其他LSB模块补充。 所有其他模块取决于LSB Core的存在。
最后总结一下
本人菜鸡,第一次尝试翻译文档,基础也很薄弱,主要是学习用途,半夜打发时间和早上醒神用的,请大家见谅(估计也没啥人看)
参考网站
Linux基金会参考文档
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)