Qwiki

Single UNIX Specification

The Single UNIX Specification (SUS) is a standard for computer operating systems, compliance with which is required for a system to qualify for using the "UNIX" trademark. This specification plays a crucial role in maintaining a consistent interface and behavior across various systems, ensuring compatibility and interoperability among Unix-like operating systems.

Historical Background

In the early 1990s, the computing world witnessed significant fragmentation in the UNIX operating systems landscape, often referred to as the "Unix wars." In an effort to unify the approach to UNIX systems, several major vendors initiated a separate effort known as the Common API Specification or Spec 1170. This initiative was driven by the COSE alliance, aiming to standardize UNIX system interfaces.

In October 1993, a planned transfer of the UNIX trademark from Novell to X/Open was announced and finalized in the second quarter of 1994. Spec 1170 would eventually evolve into the Single UNIX Specification. In 1996, X/Open merged with the Open Software Foundation to form The Open Group, which now oversees the development and maintenance of the SUS.

Development and Structure

The core specifications of the SUS, known as Base Specifications, are developed and maintained by the Austin Group, a joint working group involving the IEEE, ISO/IEC JTC 1/SC 22/WG 15, and The Open Group. The specification ensures that compliant systems provide a consistent set of interfaces and functions, which are essential for application development and portability.

The specification has undergone several versions, with UNIX 95 being one of the earliest brands certified under SUS, featuring 1168 programming interfaces. Subsequent updates have continued to refine and expand these interfaces, aligning them with industry needs and technological advancements.

Compliance and Certification

Operating systems submitted to The Open Group for certification are subjected to rigorous conformance tests. Systems that pass these tests are deemed compliant with a UNIX standard, such as UNIX 98 or UNIX 03. This certification is crucial for systems aiming to use the prestigious "UNIX" trademark, signifying their adherence to stringent quality and compatibility standards.

Despite the importance of SUS compliance, relatively few BSD and Linux-based operating systems are submitted for formal compliance, although developers generally aim to align their systems with POSIX standards, which form the core of the SUS.

Interfaces and System Calls

The Single UNIX Specification encompasses a wide range of interfaces and system calls crucial for system operations. Examples include:

  • Fork (system call): This is a standard interface required for compliance with both the POSIX and Single UNIX Specification standards. It is typically implemented as a C standard library wrapper.

  • Unix domain socket: This includes specifications for socket communication, as outlined in the Single UNIX Specification, Version 5.

  • Vi text editor: The behavior of programs like Vi is standardized by the Single UNIX Specification and POSIX, ensuring consistent user experience across compliant systems.

Relation to Other Standards

The Single UNIX Specification is closely aligned with POSIX, a family of standards specified by the IEEE for maintaining compatibility between operating systems. Many of the commands and interfaces defined in POSIX are part of the SUS, ensuring that systems compliant with the SUS also maintain compatibility with POSIX standards.

Related Topics