Single UNIX Specification
From 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.
Contents |
[edit] History
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. These standards became in 1988 IEEE 1003 (also registered as ISO/IEC 9945), or POSIX, which loosely stands for Portable Operating System Interface for uniX.
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.
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; it was released on January 30, 2002.[1]
[edit] Specification
The user and software interfaces to the OS are specified in four main sections:
- Base Definitions - a list of definitions and conventions used in the specifications and a list of C header files which must be provided by compliant systems.
- Shell and Utilities - a list of utilities and a description of the shell, sh.
- System Interfaces - a list of available C system calls which must be provided.
- Rationale - 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 Test Suite.
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 no code in common.
[edit] 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)
- UNIX93 (completely superseded)
- UNIX95 (compliance still acceptable for some simpler software subsystems)
[edit] Compliance
[edit] AIX
AIX 5L V5.2 with some updates, and AIX 5L V5.3, are registered as UNIX 03 compliant. AIX 5L V5.2 is registered as UNIX 98 compliant.
[edit] HP/UX
HP-UX 11i V3 Release B.11.31 is registered as UNIX 03 compliant. Previous releases are registered as UNIX 95.
[edit] Mac OS X
Mac OS X v10.5 "Leopard", released on October 26, 2007, is an Open Brand UNIX 03 registered product when run on Intel processors.[2][3]
[edit] SCO
UnixWare 7.1.3 is registered as UNIX 95 compliant. SCO OpenServer 5 is registered as UNIX 93 compliant.
[edit] Solaris
Solaris 10 is registered as UNIX 03 compliant on 32-bit and 64-bit x86 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.[4]
[edit] Tru64 UNIX
Tru64 UNIX V5.1A and later are registered as UNIX 98 compliant.
[edit] z/OS
IBM z/OS prior to 1.9 is registered as UNIX 95 compliant.
IBM has announced that z/OS 1.9, released on September 28, 2007, will "better align" with UNIX 03 (partial or full compliance is unclear thus far).[5]
[edit] Other compliant systems
Other operating systems registered as UNIX 95 or UNIX 93 compliant:
[edit] Non-registered Unix-like systems
Vendors of Unix-like systems such as Linux and BSD 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.[6]
[edit] BSD
No freely available BSD system has been registered as SUS compliant.
FreeBSD has a "C99 and POSIX Conformance Project" [1] which aims for full compliance with a large subset of the SUS.
Darwin is an open source operating system based on FreeBSD: it is essentially the open source subset of Mac OS X. Darwin is compliant with the SUS 03 [2].
[edit] Linux
In the usenet newsgroup comp.os.minix Linus Torvalds has stated in a thread (which is now known as the Tanenbaum-Torvalds debate) that the Linux kernel is designed to be as POSIX-conforming as possible, although he coded Linux before he obtained a copy of the standards, basing its system call behaviors on man pages from existing Unix systems.
The Linux Standard Base was formed in 2001 as an attempt to standardize the internal structures of Linux-based system for increased compatibility. It is based on, and also extends in several areas, the POSIX specifications, Single UNIX Specification, and other open standards. It is de facto accepted and followed by many Linux distributions.[citation needed]
[edit] Further reading
- Andrew Josey (2004-10-28). "Single UNIX Specification Frequently Asked Questions". 1.9.
[edit] See also
- Unix wars
- Native POSIX Thread Library for a Linux-specific implementation of the popular POSIX threads library
- Functional specification
- UNIX manual
- Open system (computing)
- Open standard
[edit] References
- ^ The Open Group (January 30 2002). "The Open Group announces completion of the joint revision to POSIX and the Single UNIX Specification". Press release. Retrieved on 2007-12-13.
- ^ Mac OS X Leopard - Technology - UNIX. Leopard Technology Overview. Apple Inc.. Retrieved on 2007-06-11. “Leopard is now an Open Brand UNIX 03 Registered Product, conforming to the SUSv3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads.”
- ^ The Open Group. Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification. Retrieved on 2007-06-12.
- ^ Solaris 2.5.1
- ^ Preview: IBM z/OS V1.9 advanced infrastructure solutions for your business needs (PDF) pp. 4, 15. IBM (February 6, 2007). Retrieved on 2007-06-11.
- ^ The Open Brand Fee Schedule. The Open Group. Retrieved on 2007-05-11. Lists fees required to use UNIX brand