standards(7) C と UNIX の標準規格

説明

多くのマニュアルページの「準拠 (CONFORMING TO)」の章は、 そのページに記載されたインタフェースが準拠する 各種の標準規格を示すものである。 以下にこれらの標準規格の簡単な説明を記す。
V7
バージョン 7 (第 7 版とも呼ばれる) UNIX。 1979 年に AT&T/Bell Labs によりリリースされた。 この時点以降、 UNIX システムは BSD と System V の二つの系譜に分かれた。
4.2BSD
カリフォルニア大バークレー校 (the University of California at Berkeley) によりリリースされた Berkeley Software Distribution リリース 4.2 によって規定された、実装に基づく標準規格 (implementation standard)。 バークレーによるリリースの中で TCP/IP スタックとソケット API を含む最初のリリースである。

これより前のBSD の主なリリースとしては 3BSD (1980), 4BSD (1980), 4.1BSD (1981) がある。

4.3BSD
1986 年にリリースされた 4.2BSD の後継。
4.4BSD
1993 年にリリースされた 4.3BSD の後継。 バークレー (Berkeley) による最後の大きなリリースである。
System V
AT&T の商用 System V (5) リリースの 1983 年版により規定された 実装に基づく標準規格。 一つ前の AT&T の大きなリリースは 1981 年にリリースされた System III である。
System V release 2 (SVr2)
System V の二番目のリリースであり、1985 年に作成された。 SVr2 は正式には 1985 年に発行された System V Interface Definition version 1 (SVID 1) に記載されている。
System V release 3 (SVr3)
SVr2 の後継。1986 年にリリースされた。 このリリースは正式には System V Interface Definition version 2 (SVID 2) に記載されている。
System V release 4 (SVr4)
SVr3 の後継。1989 年にリリースされた。 このバージョンの System V については "Programmer's Reference Manual: Operating System API (Intel processors)" (Prentice-Hall 1992, ISBN 0-13-951294-2) に記載されている。 このリリースは正式には System V Interface Definition version 3 (SVID 3) に記載されており、System V の最終的なリリースと考えられている。
SVID 4
System V Interface Definition version 4。 1995 年に発行された。 インターネットでは で入手できる。
C89
最初の C 言語の標準規格である。 ANSI (American National Standards Institute) により 1989 年の承認された (X3.159-1989)。 時には、この規格は ANSI C とも呼ばれるが、 C99 も ANSI 標準なので、この言い方はあいまいである。 この規格は 1990 年に ISO (International Standards Organization) による 承認も受けており (ISO/IEC 9899:1990)、 そのため ISO C90 として参照されることもたまにある。
C99
C 言語の標準規格のこの改訂版は ISO により 1999 年に承認された (ISO/IEC 9899:1999)。 からオンラインで入手可能である。
C11
C 言語の標準規格のこの改訂版は ISO により 2011 年に承認された (ISO/IEC 9899:2011)。 からオンラインで入手可能である。
POSIX.1-1990
"Portable Operating System Interface for Computing Environments". 1990 年に ISO により承認された、IEEE 1003.1-1990 part 1 (ISO/IEC 9945-1:1990)。 "POSIX" という言葉は Richard Stallman が初めて作った。
POSIX.2
IEEE Std 1003.2-1992. コマンドとユーティリティについて説明が書かれており、 1993 年に ISO により承認された (ISO/IEC 9945-2:1993)。
POSIX.1b (以前は POSIX.4 とも言われた)
IEEE Std 1003.1b-1993. 移植可能なオペレーティングシステムのためのリアルタイム機能について 記載されており、 1996 年の ISO により承認された (ISO/IEC 9945-1:1996)。
POSIX.1c
IEEE Std 1003.1c-1995. POSIX スレッドインタフェースについて記載している。
POSIX.1d
IEEE Std 1003.1c-1999. 追加のリアルタイム拡張について記載している。
POSIX.1g
IEEE Std 1003.1g-2000. (ソケットを含めた) ネットワーク API について記載している。
POSIX.1j
IEEE Std 1003.1j-2000. 高度なリアルタイム拡張について記載している。
POSIX.1-1996
POSIX.1 の 1996 年の改訂版。 POSIX.1b と POSIX.1c を取り込んでいる。
XPG3
1989 年リリースの、マルチベンダによる業界団体である X/Open 社による X/Open Portability Guide の最初の大きなリリースである。 この指針は POSIX 標準規格に基づいている。
XPG4
1992 年にリリースされた、X/Open Portability Guide (移植性に関する指針) の改訂版。
XPG4v2
XPG4 の 1994年改訂版。 Spec 1170 とも呼ばれる。 1170 とはこの標準規格が定義しているインタフェースの数を表すものである。
SUS (SUSv1)
Single UNIX Specification. この規格は、XPG4v2 やその他の X/Open による標準規格 (X/Open Curses Issue 4 version 2, X/Open Networking Service (XNS) Issue 4) を再構成したものである。 この規格に準拠するシステムは UNIX 95 を名乗ることができる。
SUSv2
Single UNIX Specification version 2. XPG5 と呼ばれることもある。 この規格は 1997 年に登場した。 この規格に準拠するシステムは UNIX 98 を名乗ることができる。 も参照のこと。
POSIX.1-2001, SUSv3
これは POSIX.1, POSIX.2, SUS の 2001年の改訂版である。 また、POSIX.1, POSIX.2, SUS を一つの文書に統合したものである。 この統合は Austin Group ( の後援の元で行われた。 インターネットでは で入手できる。 また、この規格に書かれているインタフェースについては Linux のマニュアルページ・パッケージの 1p, 3p セクションでも 参照できる (例えば、"man 3p open")。

この規格では、 POSIX Conformance (POSIX 準拠)XSI Conformance (XSI 準拠) の二段階の適合性を定義している。 POSIX 準拠 は準拠するシステムに必要とされるインタフェースの基本セットであり、 XSI 準拠) では "XSI 拡張" という追加のインタフェース群が義務付けられている (POSIX 準拠では XSI 拡張の実装は任意 (optional) となっている)。 XSI 準拠のシステムは UNIX 03 を名乗ることができる (XSI 準拠の内容が Single UNIX Specification version 3 (SUSv3) である)。

POSIX.1-2001 文書は 4つの部分に分けることができる:

XBD: 定義、用語と概念、ヘッダファイルの仕様。

XSH: 関数の仕様 (関数とは、実際の実装でのシステムコールと ライブラリ関数のことである)。

XCU: コマンドとユーティリティの仕様 (以前、 POSIX.2 に記載されていた内容)。

XRAT: 参考情報と規格のそれ以外の部分

POSIX.1-2001 は C99 と整合がとられており、 C99 で標準化されたライブラリ関数は POSIX.1-2001 でも 標準化されている。

元の 2001 年版の標準に対する Technical Corrigenda (正誤表; 細かな修正と改良) が二つ行われている: 2003 年の TC1 (POSIX.1-2003 と呼ばれる) と 2004 年の TC2 (POSIX.1-2004 と呼ばれる) である。

POSIX.1-2008, SUSv4
POSIX.1/SUS の次の改訂版に関する作業は 2008 年に完了し承認された。

この改訂版での変更は POSIX.1-2001/SUSv3 で行われた変更ほど大きくないが、 多くの新しいインターフェイスが追加され、既存の仕様に関しても 種々の詳細が変更されている。 POSIX.1-2001 では任意 (optional) とされていたインターフェイスの多くが 2008 年版の標準では必須 (mandatory) になる。 POSIX.1-2001 に存在するインターフェイスのいくつかは、 POSIX.1-2008 では廃止予定の印が付けられたり、 標準から完全に削除されたりしている。

改訂された標準は POSIX.1-2001 と同じく 4 つの部分に分けられ、 前回と同様に二段階の適合性を定義している。 基本セットである POSIX Conformance (POSIX 準拠) と、 基本仕様のインターフェイスに加えて追加のインターフェイス群が 義務付けられている XSI Conformance (XSI 準拠) の二つである。

一般には、マニュアルページの「準拠」の章のリストに POSIX.1-2001 が あれば、他に注意書きがなければ、そのインターフェイスは POSIX.1-2008 にも準拠していると考えてよい。

この標準の Technical Corrigendum 1 (正誤表; 細かな修正と改良) が 2013 年にリリースされている (POSIX.1-2013 と呼ばれる)。

詳しい情報は Austin Group のウェブサイト に載っている。

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。