← New search

Other meanings of Single UNIX Specification

Computing Standards

Single UNIX Specification

The Single UNIX Specification (SUS) is a standard that defines the requirements a system must meet to qualify as a UNIX operating system. It is maintained by The Open Group, and it provides a common interface for UNIX systems, ensuring compatibility and portability of applications across different platforms.

1994
First published
Year
The Open Group
Maintainer
Organization
POSIX
Related standard
Standard
1

History and evolution

The Single UNIX Specification originated from the need to unify the various UNIX standards that emerged in the late 1980s. The first version, SUSv1, was published in 1994 by a consortium of vendors including X/Open and the IEEE. It combined the X/Open Portability Guide (XPG) and the POSIX standards into a single document.1 Subsequent versions, SUSv2 (1997) and SUSv3 (2001), incorporated the POSIX 1003.1 standard and introduced the concept of the UNIX trademark, which is now owned by The Open Group. SUSv4 (2008) and SUSv5 (2018) added features like real-time extensions and improved internationalization support.

2

Core requirements and certification

The Single UNIX Specification defines a set of mandatory interfaces, including system calls, library functions, and command-line utilities, that a system must implement to be certified as UNIX. Certification is administered by The Open Group, which grants the UNIX trademark to products that pass the conformance test suite. The specification also defines the base operating system environment, including the C language binding and the shell and utilities.2 Systems that meet the requirements are listed in the official registry, and they must maintain conformance through periodic re-testing.

3

Relationship with POSIX

The Single UNIX Specification is often confused with POSIX, but they are distinct. POSIX is a family of standards developed by the IEEE, while the SUS is a superset that incorporates POSIX and adds additional requirements for UNIX branding. The SUS includes all of POSIX.1-2017, which is the latest revision, and extends it with features such as the stty command and the crypt() function.3 In practice, many systems are POSIX-compliant but not SUS-certified, because certification requires adherence to the full UNIX specification, including the trademark licensing.

4

Impact on operating systems

The Single UNIX Specification has had a profound impact on the design of modern operating systems. It has influenced the development of Linux, which aims for POSIX compliance but is not SUS-certified due to licensing and philosophical reasons. However, Linux distributions often implement SUS interfaces to ensure compatibility. The specification also shaped the development of macOS, which is SUS-certified since version 10.5 (Leopard).4 Other UNIX-like systems, such as FreeBSD and Solaris, have also been certified or have implemented the standard to varying degrees.

5

Lesser-known aspects

One lesser-known aspect is the role of the UNIX V7 heritage: the SUS includes many commands that trace their origins to the original Bell Labs UNIX, such as grep and awk. Another is the existence of the X/Open Curses interface, which is part of the SUS but is often overlooked. The specification also defines the getconf utility, which allows scripts to query system limits. Additionally, the SUS has a Product Standard for real-time systems, which is a subset of the full specification. The Open Group also maintains a UNIX V7 conformance test suite, which is used for certification but is not publicly available.

Glossary

POSIX
A family of standards for maintaining compatibility between operating systems, developed by the IEEE.
X/Open
A consortium that merged with The Open Group; it developed the XPG standards that preceded the SUS.
Conformance test suite
A set of tests used to verify that a system meets the requirements of a standard.
UNIX trademark
A trademark owned by The Open Group, licensed to systems that pass certification.

The Single UNIX Specification is a key standard for ensuring interoperability across UNIX systems.