Single UNIX Specification

The Single UNIX Specification (SUS) is the collective name of a family of standards for computer operating systems, compliance with which is required to qualify for using the "UNIX" trademark. The core specifications of the SUS are developed and maintained by the Austin Group, which is a joint working group of IEEE, ISO JTC 1 SC22 and The Open Group. If an operating system is submitted to The Open Group for certification, and passes conformance tests, then it is termed to be compliant with a UNIX standard such as UNIX 98 or UNIX 03.

Very few BSD and Linux-based operating systems are submitted for compliance with the Single UNIX Specification, although system developers generally aim for compliance with POSIX standards, which form the core of the Single UNIX Specification.

History

1980s: Motivation

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.

1988: POSIX

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. Management over these specifications was assigned to X/Open who also received the Unix trademark from Novell in 1993. Unix International (UI) merged into Open Software Foundation (OSF) in 1994 only to merge with X/Open to form The Open Group in 1996.

1994: Single UNIX Specification

This was a repackaging of the X/Open Portability Guide (XPG), Issue 4, Version 2.

1995 Edition

In 1995, the Open Group released the Single UNIX Specification Version 1, 1995 Edition.[1]

This specification consisted of:

  • System Interface Definitions, Issue 4, Version 2,
  • System Interfaces and Headers, Issue 4, Version 2,
  • Commands and Utilities, Issue 4, Version 2,
  • X/Open Curses, Issue 4 Version 2,
  • Networking Services, Issue 4,

and was at the core of the UNIX 95 brand.[2]

1997: Single UNIX Specification version 2

In 1997, the Open Group released the Single UNIX Specification Version 2.[3][4]

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.[5]

2001: Single UNIX Specification version 3, POSIX:2001

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.[6]

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.[7]

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).[8][9]

2008: Single UNIX Specification version 4, POSIX:2008

In December 2008, the Austin Group published a new major revision, known as POSIX:2008 (formally: IEEE Std 1003.1-2008).[10][11][12] This is the core of the Single UNIX Specification, Version 4 (SUSv4).[13]

This standard consists of:

  • the Base Definitions, Issue 7,
  • the System Interfaces and Headers, Issue 7,
  • the Commands and Utilities, Issue 7.

2013 Edition

The Technical Corrigendum 1 is mostly targeting internationalization and it introduces a role-based access model. It was published in 2012 for the Unix Base specification and it is registered as the 2013 Edition of POSIX 2008. A trademark UNIX V7 (not to be confused with V7 UNIX, the version of Research Unix from 1979) has been created to mark compliance with SUS Version 4.[14]

2016 Edition

The Technical Corrigendum 2 has been published in September 2016, leading into IEEE Std 1003.1-2008, 2016 Edition and Single UNIX Specification, Version 4, 2016 Edition.

2018 Edition

In January 2018 an "administrative rollup" edition, susv4-2018, was released. It incorporates Single UNIX Specification version 4 TC1 and TC2, and is technically identical to the 2016 edition.[15]

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 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 Test Suite.

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 (partial compliance)
  • UNIX 03 - the mark for systems conforming to version 3 of the SUS (full compliance)
  • UNIX V7 - the mark for systems conforming to version 4 of the SUS (including Corrigenda)[16]

Older UNIX standards (superseded)

  • UNIX 93 (completely superseded)
  • UNIX 95 (compliance still acceptable for some simpler software subsystems)

Compliance

Product Vendor Architecture UNIX V7 UNIX 03 UNIX 98 UNIX 95 UNIX 93
AIX IBM Corporation PowerPC No Yes Yes No No
FTX Cemprus LLC PA-RISC No No No No Yes
EulerOS Huawei x86-64 No Yes No No No
HP-UX Hewlett Packard Enterprise IA-64, PA-RISC No Yes No Yes No
IRIX Silicon Graphics, Inc. MIPS No No No Yes No
K-UX Inspur x86-64 No Yes No No No
macOS (formerly OS X) Apple x86-64 No Yes No No No
OpenServer Xinuos IA-32 No No No No Yes
Solaris Oracle Corporation IA-32, x86-64, SPARC Yes Yes Yes No No
Tru64 UNIX Digital Equipment Corporation Alpha No No Yes No No
UnixWare Xinuos IA-32 No No No Yes No
z/OS USS IBM Corporation z/Architecture No No No Yes No

Currently Registered UNIX systems

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.

EulerOS

EulerOS 2.0 for the x86-64 architecture was certified as UNIX 03 compliant.[17] The UNIX 03 conformance statement shows that the standard C compiler is from the GNU Compiler Collection (gcc), and that the system is a Linux distribution of the Red Hat family.[18]

HP-UX

HP-UX 11i V3 Release B.11.31 is registered as UNIX 03 compliant. Previous releases are registered as UNIX 95.[19]

HP-UX 11i features also provide partial conformance to the UNIX 98 specification.[20]

Inspur K-UX

Inspur K-UX 2.0 and 3.0 for the x86-64 architecture were certified as UNIX 03 compliant.[21][22] The UNIX 03 conformance statement for Inspur K-UX 2.0 and 3.0 shows that the standard C compiler is from the GNU Compiler Collection (gcc), and that the system is a Linux distribution of the Red Hat family.[23]

macOS

Apple's macOS (previously known as OS X) is a UNIX 03 registered product,[24] first becoming registered with Mac OS X 10.5 "Leopard" on October 26, 2007 (when run on Macs with Intel processors).[25][26] All newer versions of macOS (except Mac OS X 10.7 "Lion") have been registered.[27]

Solaris

Solaris 11 complies with the Single UNIX Specification.[28] 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 32-bit x86 and SPARC systems; 64-bit x86 systems are not supported.

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.[29]

z/OS

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.[30]

Previously Registered UNIX systems

Reliant UNIX

The last Reliant UNIX versions were registered as UNIX 95 compliant (XPG4 hard branding).

Xinuos

UnixWare 7.1.3 is registered as UNIX 95 compliant. SCO OpenServer 5 is registered as UNIX 93 compliant.

Tru64 UNIX

Tru64 UNIX V5.1A and later are registered as UNIX 98 compliant.

Other

Other operating systems registered as UNIX 95 or UNIX 93 compliant:

Non-registered Unix-like systems

Developers and vendors of Unix-like operating systems such as Linux, FreeBSD, and MINIX, typically do not certify their distributions and do not install full POSIX utilities by default.[32][33] Sometimes, SUS compliance can be improved by installing additional packages, but very few Linux systems can be configured to be completely conformant.

Darwin, the open source subset of macOS, has behavior that can be set to comply with UNIX 03.[34][35]

FreeBSD previously had a "C99 and POSIX Conformance Project" which aimed for compliance with a subset of the Single UNIX Specification, and documentation where there were differences.[36]

The FreeBSD C99 & POSIX Conformance Project aims to implement all requirements of the ISO 9899:1999 (C99) and IEEE 1003.1-2001 (POSIX) standards. In cases where aspects of these standards cannot be followed, those aspects will be documented in the c99(7) or posix(7) manuals. It is also an aim of this project to implement regression tests to ensure correctness whenever possible.

For Linux, 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 the POSIX specifications, the Single UNIX Specification, and other open standards, and also extends them in several areas; but there are some conflicts between the LSB and The POSIX standards.[37] However, although these standards are commonly accepted, few Linux distributions actually go through certification as LSB compliant.[38]

See also

Notes

  • Andrew Josey (2004-10-28). "Single UNIX Specification Frequently Asked Questions". 1.9.

References

  1. ^ https://www2.opengroup.org/ogsys/catalog/T907
  2. ^ https://www.opengroup.org/openbrand/register/xum4.htm
  3. ^ http://www.opengroup.org/onlinepubs/7990989775/
  4. ^ "The Open Group Announces Enhanced Single UNIX Specification" (Press release). The Open Group. March 12, 1997. Retrieved .
  5. ^ http://www.opengroup.org/openbrand/register/xxm0.htm
  6. ^ "The Open Group announces completion of the joint revision to POSIX and the Single UNIX Specification" (Press release). The Open Group. January 30, 2002. Retrieved .
  7. ^ http://www.opengroup.org/openbrand/register/xym0.htm
  8. ^ http://www.opengroup.org/onlinepubs/009695399/
  9. ^ "IEEE Std 1003.1, 2004 Edition". Retrieved .
  10. ^ http://www.opengroup.org/onlinepubs/9699919799/
  11. ^ "Base Specifications, Issue 7". The Open Group. Retrieved .
  12. ^ "The Austin Common Standards Revision Group". The Open Group. Retrieved .
  13. ^ Single UNIX Specification Version 4
  14. ^ https://www2.opengroup.org/ogsys/catalog/x1201
  15. ^ "Base Specifications, Issue 7, 2018 Edition". The Open Group. Retrieved .
  16. ^ http://www.unix.org/unixv7.html
  17. ^ "Huawei KunLun EulerOS 2.0 Operating System Passes UNIX Certification". Huawei. Retrieved .
  18. ^ Peng Shen. "Huawei Conformance Statement: Commands and Utilities V4". The Open Group. Retrieved .
  19. ^ "UNIX 2003 Standard Profile conformance". Hewlett Packard. Retrieved .
  20. ^ "HP-UX Software Transition Kit". Hewlett Packard. Retrieved .
  21. ^ "The Open Brand Register of Certified Products". The Open Group. 2014-05-29. Retrieved .
  22. ^ Xie Ruohong. "Inspur Conformance Statement". The Open Group. Retrieved .
  23. ^ Xie Ruohong. "Inspur Conformance Statement: Commands and Utilities V4". The Open Group. Retrieved .
  24. ^ https://images.apple.com/macosx/docs/OSX_for_UNIX_Users_TB_July2011.pdf
  25. ^ "Mac OS X Leopard - Technology - UNIX". Leopard Technology Overview. Apple Inc. Archived from the original on 2007-08-23. Retrieved . 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.
  26. ^ The Open Group. "Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification". Retrieved .
  27. ^ http://www.opengroup.org/openbrand/register/apple.htm
  28. ^ http://www.opengroup.org/openbrand/register/brand3585.htm
  29. ^ Solaris 2.5.1 Archived September 12, 2005, at the Wayback Machine.
  30. ^ "Preview: IBM z/OS V1.9 advanced infrastructure solutions for your business needs" (PDF). IBM. February 6, 2007. pp. 4, 15. Retrieved .
  31. ^ The Open Group. "Register of Certified Products". Retrieved .
  32. ^ For example pax and sccs are usually not installed on Linux, as they are not commonly used.
  33. ^ Ubuntu bug tracker: No UNIX compatible pax implementation
  34. ^ "Mac OS X Manual Page for compat(5) - Mac OS X 10.3". developer.apple.com. October 23, 2005. Archived from the original on 2009-03-10. Retrieved .
  35. ^ "compat(5) Manual Page - macOS 10.9". developer.apple.com. June 30, 2010. Retrieved .
  36. ^ "FreeBSD C99 and POSIX conformance project". FreeBSD Project. Archived from the original on December 23, 2013.
  37. ^ "ISO/IEC TR 24715:2006 - Information technology -- Programming languages, their environments and system software interfaces -- Technical Report on the Conflicts between the ISO/IEC 9945 (POSIX) and the Linux Standard Base (ISO/IEC 23360)". Retrieved .
  38. ^ "Certified Products Product Directory". The Linux Foundation. Retrieved .

External links


  This article uses material from the Wikipedia page available here. It is released under the Creative Commons Attribution-Share-Alike License 3.0.

Single_UNIX_Specification
 



 

Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.


Manage research, learning and skills at defaultlogic.com. Create an account using LinkedIn to manage and organize your omni-channel knowledge. defaultlogic.com is like a shopping cart for information -- helping you to save, discuss and share.


  Contact Us