Single UNIX Specification
By Wikipedia, the free encyclopedia
The Single UNIX Specification (SUS) is the
collective name of a family of standards for computer operating systems
to qualify for the name "Unix". The SUS is developed and maintained
by the Austin Group, based on earlier work by the IEEE and The Open Group.
Chronological hierarchy of relationships
of various UNIX API standards that
ultimately gave rise to SUSv4.
Solid lines indicate direct descent,
whereas dashed lines indicate a case
1) one standard influenced another
2) one standard was incorporated into
3) one standard deferred to another.
The SUS emerged from a mid-1980s project to standardize operating system
interfaces for software designed for variants of the Unix operating system.
The need for standardization arose because enterprises using computers
wanted to be able to develop programs that could be used on the computer
systems of different manufacturers without reimplementing the programs.
Unix was selected as the basis for a standard system interface partly
because it was manufacturer-neutral.
In 1988, these standards became IEEE 1003 (also registered as ISO/IEC
9945), or POSIX, which loosely stands for Portable Operating System Interface
1990s: Spec 1170
In the early 1990s, a separate effort known as the Common API Specification
or Spec 1170 was initiated by several major vendors, who formed the COSE
alliance in the wake of the Unix wars. This specification became more
popular because it was available at no cost, whereas the IEEE charged
a substantial fee for access to the POSIX specification.
1997: Single UNIX Specification version 2
In 1997, the Open Group released the Single UNIX Specification
Version 2 .
This specification consisted of:
- the Base Definitions, Issue 5,
- the System Interfaces and Headers, Issue 5,
- the Commands and Utilities, Issue 5,
- the Networking Services, Issue 5,
- the X/Open Curses, Issue 4, Version 2,
and was at the core of the UNIX 98 brand .
2001: POSIX:2001, Single UNIX Specification version 3
Beginning in 1998, a joint working group known as the Austin Group began
to develop the combined standard that would be known as the Single UNIX
Specification Version 3 and as POSIX:2001 (formally: IEEE Std 1003.1-2001).
It was released on January 30, 2002.
This standard consisted of:
- the Base Definitions, Issue 6,
- the System Interfaces and Headers, Issue 6,
- the Commands and Utilities, Issue 6.
and is at the core of the UNIX 03 brand .
In 2004, a new edition of the POSIX:2001 standard was released, incorporating
two technical corrigenda. It is called POSIX:2004 (formally: IEEE Std
In December 2008, the Austin Group published a new major revision, known
as POSIX:2008 (formally: IEEE Std 1003.1-2008) . This is the
core of the Single UNIX Specification, Version 4
This standard consists of:
- the Base Definitions, Issue 7,
- the System Interfaces and Headers, Issue 7,
- the Commands and Utilities, Issue 7.
SUSv3 totals some 3700 pages, which are thematically divided into four
- Base Definitions (XBD) - a list of definitions and conventions used
in the specifications and a list of C header files which must be provided
by compliant systems. 84 header files in total are provided.
- Shell and Utilities (XCU) - a list of utilities and a description
of the shell, sh. 160 utilities in total are specified.
- System Interfaces (XSH) - contains the specification of various functions
which are implemented as system calls or library functions. 1123 system
interfaces in total are specified.
- Rationale (XRAT) - the explanation behind the standard.
The standard user command line and scripting interface is the POSIX shell,
an extension of the Bourne Shell based on an early version of the Korn
Shell. Other user-level programs, services and utilities include awk,
echo, ed, vi, and hundreds of others. Required program-level services
include basic I/O (file, terminal, and network) services. A test suite
accompanies the standard. It is called PCTS or the POSIX Certification
Additionally, SUS includes CURSES (XCURSES) specification, which specifies
372 functions and 3 header files. All in all, SUSv3 specifies 1742 interfaces.
Note that a system need not include source code derived in any way from
AT&T Unix to meet the specification. For instance, IBM OS/390, now
z/OS, qualifies as a "Unix" despite having no code in common.
Marks for compliant systems
There are two official marks for conforming systems
- UNIX 98 - the mark for systems conforming to version 2 of the SUS
- UNIX 03 - the mark for systems conforming to version 3 of the SUS
Older UNIX standards (superseded)
- UNIX 93 (completely superseded)
- UNIX 95 (compliance still acceptable for some simpler software subsystems)
Registered UNIX systems
AIX 5L V5.2 with some updates, AIX 5L V5.3 and AIX 6.1, are registered
as UNIX 03 compliant. AIX 5L V5.2 is registered as UNIX 98 compliant.
HP-UX 11i V3 Release B.11.31 is registered as UNIX 03 compliant. Previous
releases are registered as UNIX 95.
Mac OS X and Mac OS X Server
Mac OS X v10.5 "Leopard" and Mac OS X Server v10.5 "Leopard",
released on October 26, 2007, are Open Brand UNIX 03 registered products
when run on Intel processors, as are Mac OS X v10.6 "Snow Leopard"
and Mac OS X Server v10.6 "Snow Leopard".
The last Reliant_UNIX versions were registered as UNIX 95 compliant (XPG4
UnixWare 7.1.3 is registered as UNIX 95 compliant. SCO OpenServer 5 is
registered as UNIX 93 compliant.
Solaris 10 is registered as UNIX 03 compliant on 32-bit and 64-bit x86
(X86-64) and SPARC systems. Solaris 8 and 9 are registered as UNIX 98
compliant on the same platforms, except that they do not include support
for 64-bit x86 systems.
Solaris 2.5.1 was also registered as UNIX 95 compliant on the PReP PowerPC
platform in 1996, but the product was withdrawn before more than a few
dozen copies had been sold.
Tru64 UNIX V5.1A and later are registered as UNIX 98 compliant.
IBM z/OS 1.2 and higher is registered as UNIX 95 compliant. z/OS 1.9,
released on September 28, 2007, and subsequent releases "better align"
with UNIX 03.
Other operating systems registered as UNIX 95 or UNIX 93 compliant:
- NCR UNIX SVR4
- NEC UX/4800
- SGI IRIX 6.5
Non-registered Unix-like systems
Vendors of Unix-like systems such as Linux and FreeBSD do not typically
certify their distributions, as the cost of certification and the rapidly
changing nature of such distributions make the process too expensive to
- FreeBSD has a "C99 and POSIX Conformance Project" which
aims for full compliance with a large subset of the SUS.
- Darwin is an open source operating system: it is essentially the
open source subset of Mac OS X. Darwin is compliant with the SUS 03.
No Linux distribution has been registered as SUS compliant.
The Linux Standard Base was formed in 2001 as an attempt to standardize
the internal structures of Linux-based systems for increased compatibility.
It is based on, and also extends in several areas, the POSIX specifications,
the Single UNIX Specification and other open standards. It is de facto
accepted and followed by many Linux distributions.
Published - December 2011