Linux Standard Base Core Specification 3.2(2)

来源:互联网 发布:大数据时代带来的弊端 编辑:程序博客网 时间:2024/05/17 08:10
 1 Scope
1.1 General
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 specification ("LSB-generic" or "generic LSB"), ISO/IEC 23360 Part 1, describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part ("LSB-arch" or "archLSB") describing the parts of the interface that vary by processor architecture. Together, the LSB-generic and the relevant architecture-specific part of ISO/IEC 23360 for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture.
ISO/IEC 23360 Part 1, the LSB-generic document, should be used in conjunction with an architecture-specific part. Whenever a section of the LSB-generic specification is supplemented by architecture-specific information, the LSB-generic document includes a reference to the architecture part. Architecture-specific parts of ISO/IEC 23360 may also contain additional information that is not referenced in the LSB-generic document.
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.
1.2 Module Specific Scope
This is the Core module of the Linux Standard Base (LSB), ISO/IEC 23360 Part 1. This module provides the fundamental system interfaces, libraries, and runtime environment upon which all conforming applications and libraries depend.
Interfaces described in this part of ISO/IEC 23360 are mandatory except where explicitly listed otherwise. Core interfaces may be supplemented by other modules; all modules are built upon the core.
© 2007 Linux Foundation 1
ISO/IEC 23360 Part 1:2007(E)
2 References
2.1 Normative References
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
Note: Where copies of a document are available on the World Wide Web, a Uniform Resource Locator (URL) is given for informative purposes only. This may point to a more recent copy of the referenced specification, or may be out of date. Reference copies of specifications at the revision level indicated may be found at the Linux Foundation's Reference Specifications (http://refspecs.freestandards.org) site.
Table 2-1 Normative References
Name
Title
URL
Filesystem Hierarchy Standard
Filesystem Hierarchy Standard (FHS) 2.3
http://www.pathname.com/fhs/
ISO C (1999)
ISO/IEC 9899: 1999, Programming Languages --C
ISO POSIX (2003)
ISO/IEC 9945-1:2003 Information technology -- Portable Operating System Interface (POSIX) -- Part 1: Base Definitions
ISO/IEC 9945-2:2003 Information technology -- Portable Operating System Interface (POSIX) -- Part 2: System Interfaces
ISO/IEC 9945-3:2003 Information technology -- Portable Operating System Interface (POSIX) -- Part 3: Shell and Utilities
ISO/IEC 9945-4:2003 Information technology -- Portable Operating System Interface (POSIX) -- Part 4: Rationale
Including Technical Cor. 1: 2004
http://www.unix.org/version3/
© 2007 Linux Foundation 2
ISO/IEC 23360 Part 1:2007(E) 2 References
Name Title URL
Itanium™ C++ ABI
Itanium™ C++ ABI (Revision 1.83)
http://refspecs.linux-foundation.org/cxxabi-1.83.html
Large File Support
Large File Support
http://www.UNIX-systems.org/version2/whatsnew/lfs20mar.html
SUSv2
CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 (ISBN: 1-85912-181-0, C606)
http://www.opengroup.org/publications/catalog/un.htm
SVID Issue 3
American Telephone and Telegraph Company, System V Interface Definition, Issue 3; Morristown, NJ, UNIX Press, 1989. (ISBN 0201566524)
SVID Issue 4
System V Interface Definition, Fourth Edition
System V ABI
System V Application Binary Interface, Edition 4.1
http://www.caldera.com/developers/devspecs/gabi41.pdf
System V ABI Update
System V Application Binary Interface - DRAFT - 17 December 2003
http://www.caldera.com/developers/gabi/2003-12-17/contents.html
X/Open Curses
CAE Specification, May 1996, X/Open Curses, Issue 4, Version 2 (ISBN: 1-85912-171-3, C610), plus Corrigendum U018
http://www.opengroup.org/publications/catalog/un.htm
2.2 Informative References/Bibliography
In addition, the specifications listed below provide essential background information to implementors of this specification. These references are included for information only.
Table 2-2 Other References
Name
Title
URL
DWARF Debugging Information Format, Revision 2.0.0
DWARF Debugging Information Format, Revision 2.0.0 (July 27,
http://refspecs.linux-foundation.org/dwarf/dwarf-2.0.0.pdf
© 2007 Linux Foundation 3
2 References ISO/IEC 23360 Part 1:2007(E)
Name Title URL
1993)
DWARF Debugging Information Format, Revision 3.0.0 (Draft)
DWARF Debugging Information Format, Revision 3.0.0 (Draft)
http://refspecs.linux-foundation.org/dwarf
IEC 60559/IEEE 754 Floating Point
IEC 60559:1989 Binary floating-point arithmetic for microprocessor systems
http://www.ieee.org/
ISO/IEC TR14652
ISO/IEC Technical Report 14652:2002 Specification method for cultural conventions
ITU-T V.42
International Telecommunication Union Recommendation V.42 (2002): Error-correcting procedures for DCEs using asynchronous-to-synchronous conversionITUV
http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-V.42
Li18nux Globalization Specification
LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4
http://www.openi18n.org/docs/html/LI18NUX-2000-amd4.htm
Linux Allocated Device Registry
LINUX ALLOCATED DEVICES
http://www.lanana.org/docs/device-list/devices.txt
PAM
Open Software Foundation, Request For Comments: 86.0 , October 1995, V. Samar & R.Schemers (SunSoft)
http://www.opengroup.org/tech/rfc/mirror-rfc/rfc86.0.txt
RFC 1321: The MD5 Message-Digest Algorithm
IETF RFC 1321: The MD5 Message-Digest Algorithm
http://www.ietf.org/rfc/rfc1321.txt
RFC 1831/1832 RPC & XDR
IETF RFC 1831 & 1832
http://www.ietf.org/
RFC 1833: Binding Protocols for ONC RPC Version 2
IETF RFC 1833: Binding Protocols for ONC RPC Version 2
http://www.ietf.org/rfc/rfc1833.txt
RFC 1950: ZLIB Compressed Data Format Specication
IETF RFC 1950: ZLIB Compressed Data Format Specification
http://www.ietf.org/rfc/rfc1950.txt
RFC 1951: DEFLATE Compressed Data
IETF RFC 1951: DEFLATE Compressed
http://www.ietf.org/rfc/rfc1951.txt
4 © 2007 Linux Foundation
ISO/IEC 23360 Part 1:2007(E) 2 References
Name Title URL
Format Specification
Data Format Specification version 1.3
RFC 1952: GZIP File Format Specification
IETF RFC 1952: GZIP file format specification version 4.3
http://www.ietf.org/rfc/rfc1952.txt
RFC 2440: OpenPGP Message Format
IETF RFC 2440: OpenPGP Message Format
http://www.ietf.org/rfc/rfc2440.txt
RFC 2821:Simple Mail Transfer Protocol
IETF RFC 2821: Simple Mail Transfer Protocol
http://www.ietf.org/rfc/rfc2821.txt
RFC 2822:Internet Message Format
IETF RFC 2822: Internet Message Format
http://www.ietf.org/rfc/rfc2822.txt
RFC 791:Internet Protocol
IETF RFC 791: Internet Protocol Specification
http://www.ietf.org/rfc/rfc791.txt
RPM Package Format
RPM Package Format V3.0
http://www.rpm.org/max-rpm/s1-rpm-file-format-rpm-file-format.html
SUSv2 Commands and Utilities
The Single UNIX Specification(SUS) Version 2, Commands and Utilities (XCU), Issue 5 (ISBN: 1-85912-191-8, C604)
http://www.opengroup.org/publications/catalog/un.htm
zlib Manual
zlib 1.2 Manual
http://www.gzip.org/zlib/
© 2007 Linux Foundation 5
ISO/IEC 23360 Part 1:2007(E)
3 Requirements
3.1 Relevant Libraries
The libraries listed in Table 3-1 shall be available on a Linux Standard Base system, with the specified runtime names. The libraries listed in Table 3-2 are architecture specific, but shall be available on all LSB conforming systems. This list may be supplemented or amended by the relevant architecture specific part of ISO/IEC 23360.
Table 3-1 Standard Library Names
Library
Runtime Name
libdl
libdl.so.2
libcrypt
libcrypt.so.1
libz
libz.so.1
libncurses
libncurses.so.5
libutil
libutil.so.1
libpthread
libpthread.so.0
librt
librt.so.1
libpam
libpam.so.0
libgcc_s
libgcc_s.so.1
Table 3-2 Standard Library Names defined in the Architecture Specific Parts of ISO/IEC 23360
Library
Runtime Name
libm
See archLSB
libc
See archLSB
proginterp
See archLSB
These libraries will be in an implementation-defined directory which the dynamic linker shall search by default.
3.2 LSB Implementation Conformance
A conforming implementation is necessarily architecture specific, and must provide the interfaces specified by both the generic LSB Core specification (ISO/IEC 23360 Part 1) and the relevant architecture specific part of ISO/IEC 23360.
Rationale: An implementation must provide at least the interfaces specified in these specifications. It may also provide additional interfaces.
A conforming implementation shall satisfy the following requirements:
• A processor architecture represents a family of related processors which may not have identical feature sets. The architecture specific parts of ISO/IEC 23360 that supplement this specification for a given target processor
© 2007 Linux Foundation 6
ISO/IEC 23360 Part 1:2007(E) 3 Requirements
architecture describe a minimum acceptable processor. The implementation shall provide all features of this processor, whether in hardware or through emulation transparent to the application.
• The implementation shall be capable of executing compiled applications having the format and using the system interfaces described in this document.
• The implementation shall provide libraries containing the interfaces specified by this document, and shall provide a dynamic linking mechanism that allows these interfaces to be attached to applications at runtime. All the interfaces shall behave as specified in this document.
• The map of virtual memory provided by the implementation shall conform to the requirements of this document.
• The implementation's low-level behavior with respect to function call linkage, system traps, signals, and other such activities shall conform to the formats described in this document.
• The implementation shall provide all of the mandatory interfaces in their entirety.
• The implementation may provide one or more of the optional interfaces. Each optional interface that is provided shall be provided in its entirety. The product documentation shall state which optional interfaces are provided.
• The implementation shall provide all files and utilities specified as part of this document in the format defined here and in other referenced documents. All commands and utilities shall behave as required by this document. The implementation shall also provide all mandatory components of an application's runtime environment that are included or referenced in this document.
• The implementation, when provided with standard data formats and values at a named interface, shall provide the behavior defined for those values and data formats at that interface. However, a conforming implementation may consist of components which are separately packaged and/or sold. For example, a vendor of a conforming implementation might sell the hardware, operating system, and windowing system as separately packaged items.
• The implementation may provide additional interfaces with different names. It may also provide additional behavior corresponding to data values outside the standard ranges, for standard named interfaces.
3.3 LSB Application Conformance
A conforming application is necessarily architecture specific, and must conform to both the generic LSB Core specification (ISO/IEC 23360 Part 1)and the relevant architecture specific part of ISO/IEC 23360.
A conforming application shall satisfy the following requirements:
• Its executable files shall be either shell scripts or object files in the format defined for the Object File Format system interface.
• Its object files shall participate in dynamic linking as defined in the Program Loading and Linking System interface.
• It shall employ only the instructions, traps, and other low-level facilities defined in the Low-Level System interface as being for use by applications.
© 2007 Linux Foundation 7
3 Requirements ISO/IEC 23360 Part 1:2007(E)
• If it requires any optional interface defined in this document in order to be installed or to execute successfully, the requirement for that optional interface shall be stated in the application's documentation.
• It shall not use any interface or data format that is not required to be provided by a conforming implementation, unless:
• If such an interface or data format is supplied by another application through direct invocation of that application during execution, that application shall be in turn an LSB conforming application.
• The use of that interface or data format, as well as its source, shall be identified in the documentation of the application.
• It shall not use any values for a named interface that are reserved for vendor extensions.
A strictly conforming application shall not require or use any interface, facility, or implementation-defined extension that is not defined in this document in order to be installed or to execute successfully.
原创粉丝点击