Linux Standard Base (LSB)

D

DevynCJohnson

Guest
The Linux Standard Base (LSB) is an ISO standard for GNU/Linux. The purpose is to keep the distros standardized and compatible. LSB is based on several standards including POSIX. LSB sets standards for various portions of Linux systems including run levels, file system hierarchy, and many other subsystems. The latest edition of the LSB specification is 4.1 which has a few parts listed below.

Core - This is the general basis of the specification
C++ - The specifications for the libraries
Desktop - This category contains specifications for GTK, QT(3&4), multimedia (like ALSA), graphics, and others
Languages - Specifications for Python, Perl, and GTK+
Printing - The CUPS library is standardized
Security - Security specifications

The LSB standard supports seven architectures - IA32, IA64, PPC32, PPC64, S390, S390X, and X86_64

NOTE: An ISO standard is a standard set by the International Organization for Standardization (ISO). ISO sets various standards; not all pertain to computers.

Remember, I said that LSB also includes some other set standards. Other standards were used as references when creating the LSB standard. Some of these specifications include

Filesystem Hierarchy Standard (FHS) - sets the file/folder layout

ISO C - C-language specification

Itanium C++ ABI - ABI stands for Application Binary Interface. An ABI is the interface between the software and the operating system.

Large File Support - Support for large files

POSIX - Portable Operating System Interface (POSIX). POSIX is a large, stand-alone specification that will not be deeply covered in this article.

SUS - Single UNIX Specification. Systems that comply with all of the standards in SUS are considered Unix systems. Unix-like systems are operating systems that do not fully satisfy the standard. The different versions of the Unix standard are designated as UNIX93, UNIX95, UNIX98, and UNIX03. Obviously, they were made in 1993, 1995, 1998, and 2003, respectively. HP-Unix and Mac OS X are examples of two commonly used Unix systems. Linux and *BSD are considered Unix-like because they do not satisfy all of the criteria.

SVID - System V Interface Definition. This standard covers C-libraries, system calls, software, and hardware management.

System V ABI - A System V Application Binary Interface specification

X/Open Curses - A standard for the popular text-based interface ncurses.

DWARF Debugging Information Format - This is a format used by debuggers and compilers for reporting bugs.

IEC 60559/IEEE 754 Floating Point - Floating-point computation standard

ISO/IEC TR14652 - Character format specification

ITU-T V.42 - Error correction standard

Li18nux Globalization Specification - Specifications that aid in the internationalization of Linux

Linux Allocated Device Registry - Each type of /dev/ file has a special number. This registry is the officially set numbers.

Mozilla's NSS SSL Reference - This is a reference for Network Security Services and Secure Socket Layer. https://developer.mozilla.org/en-US/docs/NSS_reference

NSPR Reference - This is a reference for Netscape Portable Runtime (NSPR).

RFC 1321 - The MD5 Message-Digest Algorithm

RFC 1831/1832 - Remote Procedure Call Protocol Specification

RFC 1833 - Binding Protocols for ONC RPC

RFC 1950 - ZLIB Compressed Data Format Specification

RFC 1951 - DEFLATE Compressed Data Format Specification

RFC 1952 - GZIP File Format Specification

RFC 2440 - OpenPGP Message Format

RFC 2821 - Simple Mail Transfer Protocol (SMTP)

RFC 2822 - Internet Message Format

RFC 791 - Internet Protocols

RPM Package Format - The RPM installation package (yes, the same one used on Fedora and RedHat) has a standard that it follows.


All of these specifications that were implemented in LSB or used as a reference are very important in making Unix and Unix-like systems standard and compatible. Imagine making a cross-platform application for a range of operating systems that were very diverse. If these specifications were followed entirely among all systems, then more software would be compatible. The main purpose of the LSB is to keep all Linux distros compatible with each other. Please note that the Linux Standard Base (LSB) is a standard among Linux distros (not Unix systems), yet some of the adopted specifications (like POSIX) are used among Unix and Unix-like systems.
 

Attachments

  • slide.jpg
    slide.jpg
    47.5 KB · Views: 52,575


The Linux Standard Base (LSB) is an ISO standard for GNU/Linux. The purpose is to keep the distros standardized and compatible. LSB is based on several standards including POSIX. LSB sets standards for various portions of Linux systems including run levels, file system hierarchy, and many other subsystems. The latest edition of the LSB specification is 4.1 which has a few parts listed below.

Core - This is the general basis of the specification
C++ - The specifications for the libraries
Desktop - This category contains specifications for GTK, QT(3&4), multimedia (like ALSA), graphics, and others
Languages - Specifications for Python, Perl, and GTK+
Printing - The CUPS library is standardized
Security - Security specifications

The LSB standard supports seven architectures - IA32, IA64, PPC32, PPC64, S390, S390X, and X86_64

NOTE: An ISO standard is a standard set by the International Organization for Standardization (ISO). ISO sets various standards; not all pertain to computers.

Remember, I said that LSB also includes some other set standards. Other standards were used as references when creating the LSB standard. Some of these specifications include

Filesystem Hierarchy Standard (FHS) - sets the file/folder layout

ISO C - C-language specification

Itanium C++ ABI - ABI stands for Application Binary Interface. An ABI is the interface between the software and the operating system.

Large File Support - Support for large files

POSIX - Portable Operating System Interface (POSIX). POSIX is a large, stand-alone specification that will not be deeply covered in this article.

SUS - Single UNIX Specification. Systems that comply with all of the standards in SUS are considered Unix systems. Unix-like systems are operating systems that do not fully satisfy the standard. The different versions of the Unix standard are designated as UNIX93, UNIX95, UNIX98, and UNIX03. Obviously, they were made in 1993, 1995, 1998, and 2003, respectively. HP-Unix and Mac OS X are examples of two commonly used Unix systems. Linux and *BSD are considered Unix-like because they do not satisfy all of the criteria.

SVID - System V Interface Definition. This standard covers C-libraries, system calls, software, and hardware management.

System V ABI - A System V Application Binary Interface specification

X/Open Curses - A standard for the popular text-based interface ncurses.

DWARF Debugging Information Format - This is a format used by debuggers and compilers for reporting bugs.

IEC 60559/IEEE 754 Floating Point - Floating-point computation standard

ISO/IEC TR14652 - Character format specification

ITU-T V.42 - Error correction standard

Li18nux Globalization Specification - Specifications that aid in the internationalization of Linux

Linux Allocated Device Registry - Each type of /dev/ file has a special number. This registry is the officially set numbers.

Mozilla's NSS SSL Reference - This is a reference for Network Security Services and Secure Socket Layer. https://developer.mozilla.org/en-US/docs/NSS_reference

NSPR Reference - This is a reference for Netscape Portable Runtime (NSPR).

RFC 1321 - The MD5 Message-Digest Algorithm

RFC 1831/1832 - Remote Procedure Call Protocol Specification

RFC 1833 - Binding Protocols for ONC RPC

RFC 1950 - ZLIB Compressed Data Format Specification

RFC 1951 - DEFLATE Compressed Data Format Specification

RFC 1952 - GZIP File Format Specification

RFC 2440 - OpenPGP Message Format

RFC 2821 - Simple Mail Transfer Protocol (SMTP)

RFC 2822 - Internet Message Format

RFC 791 - Internet Protocols

RPM Package Format - The RPM installation package (yes, the same one used on Fedora and RedHat) has a standard that it follows.


All of these specifications that were implemented in LSB or used as a reference are very important in making Unix and Unix-like systems standard and compatible. Imagine making a cross-platform application for a range of operating systems that were very diverse. If these specifications were followed entirely among all systems, then more software would be compatible. The main purpose of the LSB is to keep all Linux distros compatible with each other. Please note that the Linux Standard Base (LSB) is a standard among Linux distros (not Unix systems), yet some of the adopted specifications (like POSIX) are used among Unix and Unix-like systems.
I had no IDEA about all this..... :3 But a Wild Autism appeared, and I'll have to finish reading it later..... :3
 

Members online


Latest posts

Top