The
Single UNIX Specification (
SUS) is the collective name of a family of standards for
computerA computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
operating systemAn operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s to qualify for the name "
UnixUnix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
". The SUS is developed and maintained by the
Austin GroupThe Austin Group or the Austin Common Standards Revision Group is a joint technical working group formed to develop and maintain a common revision of POSIX.1 and parts of the Single UNIX Specification....
, based on earlier work by the IEEE and
The Open GroupThe Open Group is a vendor and technology-neutral industry consortium, currently with over three hundred member organizations. It was formed in 1996 when X/Open merged with the Open Software Foundation...
.
History
1980s: Motivation
The SUS emerged from a mid-1980s project to standardize
operating systemAn operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
interfaceIn the field of computer science, an interface is a tool and concept that refers to a point of interaction between components, and is applicable at the level of both hardware and software...
s 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.
1988: POSIX
In 1988, these standards became
IEEE 1003 (also registered as
ISOThe International Organization for Standardization , widely known as ISO, is an international standard-setting body composed of representatives from various national standards organizations. Founded on February 23, 1947, the organization promulgates worldwide proprietary, industrial and commercial...
/IECThe International Electrotechnical Commission is a non-profit, non-governmental international standards organization that prepares and publishes International Standards for all electrical, electronic and related technologies – collectively known as "electrotechnology"...
9945), or
POSIXPOSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
, which loosely stands for
Portable Operating System Interface for uniX.
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 warsThe Unix wars were the struggles between vendors of the Unix computer operating system in the late 1980s and early 1990s to set the standard for Unix thenceforth.- Origins :...
. 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 http://www.opengroup.org/onlinepubs/7990989775/.
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
http://www.opengroup.org/openbrand/register/xxm0.htm.
2001: POSIX:2001, Single UNIX Specification version 3
Beginning in 1998, a joint
working groupA working group is an interdisciplinary collaboration of researchers working on new research activities that would be difficult to develop under traditional funding mechanisms . The lifespan of the WG can last anywhere between a few months and several years...
known as the
Austin GroupThe Austin Group or the Austin Common Standards Revision Group is a joint technical working group formed to develop and maintain a common revision of POSIX.1 and parts of the Single UNIX Specification....
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
http://www.opengroup.org/openbrand/register/xym0.htm.
2004: POSIX:2004
In 2004, a new edition of the POSIX:2001 standard was released, incorporating two technical corrigenda. It is called
POSIX:2004 (formally: IEEE Std 1003.1-2004)
http://www.opengroup.org/onlinepubs/009695399/.
2008: POSIX:2008
In December 2008, the
Austin GroupThe Austin Group or the Austin Common Standards Revision Group is a joint technical working group formed to develop and maintain a common revision of POSIX.1 and parts of the Single UNIX Specification....
published a new major revision, known as
POSIX:2008 (formally: IEEE Std 1003.1-2008)
http://www.opengroup.org/onlinepubs/9699919799/. 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.
Specification
SUSv3 totals some 3700 pages, which are thematically divided into four main parts:
- Base Definitions (XBD) - a list of definitions and conventions used in the specifications and a list of C
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
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
The Bourne shell, or sh, was the default Unix shell of Unix Version 7 and most Unix-like systems continue to have /bin/sh - which will be the Bourne shell, or a symbolic link or hard link to a compatible shell - even when more modern shells are used by most users.Developed by Stephen Bourne at AT&T...
. 160 utilities in total are specified.
- System Interfaces (XSH) - contains the specification of various functions which are implemented as system call
In computing, a system call is how a program requests a service from an operating system's kernel. This may include hardware related services , creating and executing new processes, and communicating with integral kernel services...
s 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
POSIXPOSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
shell, an extension of the
Bourne ShellThe Bourne shell, or sh, was the default Unix shell of Unix Version 7 and most Unix-like systems continue to have /bin/sh - which will be the Bourne shell, or a symbolic link or hard link to a compatible shell - even when more modern shells are used by most users.Developed by Stephen Bourne at AT&T...
based on an early version of the
Korn ShellThe Korn shell is a Unix shell which was developed by David Korn in the early 1980s and announced at USENIX on July 14, 1983. Other early contributors were AT&T Bell Labs developers Mike Veach, who wrote the emacs code, and Pat Sullivan, who wrote the vi code...
. Other user-level programs, services and utilities include
awkThe AWK utility is a data extraction and reporting tool that uses a data-driven scripting language consisting of a set of actions to be taken against textual data for the purpose of producing formatted reports...
, echo, ed,
vivi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...
, and hundreds of others. Required program-level services include basic
I/OIn computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...
(
fileA computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...
,
terminalA computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...
, and
networkA computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....
) services. A test suite accompanies the standard. It is called
PCTS or the
POSIX Certification Test Suite.
Additionally, SUS includes
CURSEScurses is a terminal control library for Unix-like systems, enabling the construction of text user interface applications.The name is a pun on the term “cursor optimization”. It is a library of functions that manage an application's display on character-cell terminals .- Overview :The curses API...
(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 codeIn computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
derived in any way from AT&T Unix to meet the specification. For instance,
IBMInternational Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
OS/390OS/390 is an IBM operating system for the System/390 IBM mainframe computers.OS/390 was introduced in late 1995 in an effort, led by the late Randy Stelman, to simplify the packaging and ordering for the key, entitled elements needed to complete a fully functional MVS operating system package...
, now
z/OSz/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
, 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 (partial compliance)
- UNIX 03 - the mark for systems conforming to version 3 of the SUS (full compliance)
Older UNIX standards (superseded)
- UNIX 93 (completely superseded)
- UNIX 95 (compliance still acceptable for some simpler software subsystems)
AIX
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
HP-UXHP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on UNIX System V and first released in 1984...
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.5Mac OS X Leopard is the sixth major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers. Leopard was released on 26 October 2007 as the successor of Tiger , and is available in two variants: a desktop version suitable for personal computers, and a...
"Leopard" and
Mac OS X ServerMac OS X Server is a Unix server operating system from Apple Inc. The server edition of Mac OS X is architecturally identical to its desktop counterpart, except that it includes work group management and administration software tools...
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.6Mac OS X Snow Leopard is the seventh major release of Mac OS X, Apple's desktop and server operating system for Macintosh computers.Snow Leopard was publicly unveiled on June 8, 2009 at the Apple Worldwide Developers Conference...
"Snow Leopard" and Mac OS X Server v10.6 "Snow Leopard".
Reliant UNIX
The last Reliant UNIX versions were registered as UNIX 95 compliant (XPG4 hard branding).
SCO
UnixWareUnixWare is a Unix operating system maintained by The SCO Group . UnixWare is typically deployed as a server rather than desktop. Binary distributions of UnixWare are available for x86 architecture computers. It was originally released by Univel, a jointly owned venture of AT&T's Unix System...
7.1.3 is registered as UNIX 95 compliant.
SCO OpenServerSCO OpenServer, previously SCO UNIX and SCO Open Desktop , is, misleadingly, a closed source version of the Unix computer operating system developed by Santa Cruz Operation and now maintained by the SCO Group....
5 is registered as UNIX 93 compliant.
Solaris
SolarisSolaris is a Unix operating system originally developed by Sun Microsystems. It superseded their earlier SunOS in 1993. Oracle Solaris, as it is now known, has been owned by Oracle Corporation since Oracle's acquisition of Sun in January 2010....
10 is registered as UNIX 03 compliant on
32-bitThe range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
and
64-bit64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...
x86 (
X86-64x86-64 is an extension of the x86 instruction set. It supports vastly larger virtual and physical address spaces than are possible on x86, thereby allowing programmers to conveniently work with much larger data sets. x86-64 also provides 64-bit general purpose registers and numerous other...
) and
SPARCSPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....
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
PRePPrep may refer to:* A nickname for anything associated with a University-preparatory school, such as:** A member of the Preppy social group, stemming from the word "preparatory"** Another name for someone who attends a preparatory school in the US...
PowerPCPowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
platform in 1996, but the product was withdrawn before more than a few dozen copies had been sold.
z/OS
IBM
z/OSz/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
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
Other operating systems registered as UNIX 95 or UNIX 93 compliant:
- NCR
NCR Corporation is an American technology company specializing in kiosk products for the retail, financial, travel, healthcare, food service, entertainment, gaming and public sector industries. Its main products are self-service kiosks, point-of-sale terminals, automated teller machines, check...
UNIX SVR4
- NEC
, a Japanese multinational IT company, has its headquarters in Minato, Tokyo, Japan. NEC, part of the Sumitomo Group, provides information technology and network solutions to business enterprises, communications services providers and government....
UX/4800
- SGI
Silicon Graphics, Inc. was a manufacturer of high-performance computing solutions, including computer hardware and software, founded in 1981 by Jim Clark...
IRIXIRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...
6.5
Non-registered Unix-like systems
Vendors of
Unix-likeA Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
systems such as
LinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and
FreeBSDFreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
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 sustain.
BSD descendants
- FreeBSD has a "C99 and POSIX Conformance Project" which aims for full compliance with a large subset of the SUS.
- Darwin
Darwin is an open source POSIX-compliant computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP, BSD, and other free software projects....
is an open source operating system: it is essentially the open source subset of Mac OS X. Darwin is compliant with the SUS 03.
Linux
No Linux distribution has been registered as SUS compliant.
The
Linux Standard BaseThe Linux Standard Base is a joint project by several Linux distributions under the organizational structure of the Linux Foundation to standardize the software system structure, including the filesystem hierarchy, used with Linux operating system...
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 factoDe facto is a Latin expression that means "concerning fact." In law, it often means "in practice but not necessarily ordained by law" or "in practice or actuality, but not officially established." It is commonly used in contrast to de jure when referring to matters of law, governance, or...
accepted and followed by many
Linux distributionA Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
s.
See also
- Unix wars
The Unix wars were the struggles between vendors of the Unix computer operating system in the late 1980s and early 1990s to set the standard for Unix thenceforth.- Origins :...
- Functional specification
A functional specification in systems engineering and software development is the documentation that describes the requested behavior of an engineering system...
- UNIX manual
Man pages are the extensive documentation that comes preinstalled with almost all substantial Unix and Unix-like operating systems. The Unix command used to display them is man. Each page is a self-contained document.- Usage :...
- Open system (computing)
Open systems are computer systems that provide some combination of interoperability, portability, and open software standards. The term was popularized in the early 1980s, mainly to describe systems based on Unix,...
- Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....
- POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
External links