名前
standards - 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
年に発行された。
インターネットでは
http://www.sco.com/developers/devspecs/
で入手できる。
- 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)。
http://www.open-std.org/jtc1/sc22/wg14/www/standards
からオンラインで入手可能である。
- C11
- C
言語の標準規格のこの改訂版は
ISO により 2011
年に承認された (ISO/IEC
9899:2011)。
http://www.open-std.org/jtc1/sc22/wg14/www/standards
からオンラインで入手可能である。
- LFS The Large File Summit specification, completed in 1996. This
specification defined mechanisms that allowed 32-bit systems to support
the use of large files (i.e., 64-bit file offsets). See
https://www.opengroup.org/platform/lfs.html.
- POSIX.1-1988
- This was the first POSIX standard, ratified by IEEE as IEEE Std
1003.1-1988, and subsequently adopted (with minor revisions) as an ISO
standard in 1990. The term "POSIX" was coined by Richard
Stallman.
- POSIX.1-1990
- "Portable Operating System Interface for Computing
Environments". IEEE 1003.1-1990 part 1, ratified by ISO in 1990
(ISO/IEC 9945-1:1990).
- 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 (formerly
known as POSIX.4a)
- 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
- Released in 1989, this was the first release of the X/Open Portability
Guide to be based on a POSIX standard (POSIX.1-1988). This multivolume
guide was developed by the X/Open Group, a multivendor consortium.
- XPG4
- A revision of the X/Open Portability Guide, released in 1992. This
revision incorporated POSIX.2.
- 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
を名乗ることができる。
http://www.unix.org/version2/
も参照のこと。
- POSIX.1-2001,
SUSv3
- This was a 2001 revision and consolidation of the POSIX.1, POSIX.2, and
SUS standards into a single document, conducted under the auspices of the
Austin Group
http://www.opengroup.org/austin/.
The standard is available online at
http://www.unix.org/version3/.
- The standard defines two levels of conformance: POSIX conformance,
which is a baseline set of interfaces required of a conforming system; and
XSI Conformance, which additionally mandates a set of
interfaces (the "XSI extension") which are only optional for
POSIX conformance. XSI-conformant systems can be branded UNIX
03.
- POSIX.1-2001 文書は
4つの部分に分けることができる:
- XBD:
定義、用語と概念、ヘッダーファイルの仕様。
- XSH: 関数の仕様
(関数とは、実際の実装でのシステムコールと
ライブラリ関数のことである)。
- XCU:
コマンドとユーティリティの仕様
(以前、 POSIX.2
に記載されていた内容)。
- XRAT:
参考情報と規格のそれ以外の部分
- POSIX.1-2001 は C99
と整合がとられており、
C99
で標準化されたライブラリ関数は
POSIX.1-2001 でも
標準化されている。
- The Single UNIX Specification version 3 (SUSv3) comprises the Base
Specifications containing XBD, XSH, XCU, and XRAT as above, plus X/Open
Curses Issue 4 version 2 as an extra volume that is not in
POSIX.1-2001.
- Two Technical Corrigenda (minor fixes and improvements) of the original
2001 standard have occurred: TC1 in 2003 and TC2 in 2004.
- POSIX.1-2008,
SUSv4
- POSIX.1/SUS
の次の改訂版に関する作業は
2008
年に完了し承認された。この標準は
http://www.unix.org/version4/.
からオンラインで入手できる。
- この改訂版での変更は
POSIX.1-2001/SUSv3
で行われた変更ほど大きくないが、
多くの新しいインターフェイスが追加され、既存の仕様に関しても
種々の詳細が変更されている。
POSIX.1-2001 では任意 (optional)
とされていたインターフェイスの多くが
2008
年版の標準では必須
(mandatory) になる。 POSIX.1-2001
に存在するインターフェイスのいくつかは、
POSIX.1-2008
では廃止予定の印が付けられたり、
標準から完全に削除されたりしている。
- The revised standard is structured in the same way as its predecessor. The
Single UNIX Specification version 4 (SUSv4) comprises the Base
Specifications containing XBD, XSH, XCU, and XRAT, plus X/Open Curses
Issue 7 as an extra volume that is not in POSIX.1-2008.
- Again there are two levels of conformance: the baseline POSIX
Conformance, and XSI Conformance, which mandates an
additional set of interfaces beyond those in the base specification.
- 一般には、マニュアルページの「準拠」の章のリストに
POSIX.1-2001 が
あれば、他に注意書きがなければ、そのインターフェイスは
POSIX.1-2008
にも準拠していると考えてよい。
- この標準の Technical Corrigendum 1
(正誤表 1;
細かな修正と改良) が
2013
年にリリースされた。
- この標準の Technical Corrigendum 2
(正誤表 2) が 2016
年にリリースされた。
- 詳しい情報は Austin Group
のウェブサイト
http://www.opengroup.org/austin/
に載っている。
- SUSv4 2016
edition
- This is equivalent to POSIX.1-2008, with the addition of Technical
Corrigenda 1 and 2 and the XCurses specification.
- POSIX.1-2017
- This revision of POSIX is technically identical to POSIX.1-2008 with
Technical Corrigenda 1 and 2 applied.
- SUSv4 2018
edition
- This is equivalent to POSIX.1-2017, with the addition of the XCurses
specification.
The interfaces documented in POSIX.1/SUS are available as manual
pages under sections 0p (header files), 1p (commands), and 3p (functions);
thus one can write "man 3p open".
関連項目
getconf(1), confstr(3), pathconf(3),
sysconf(3), attributes(7), feature_test_macros(7),
libc(7), posixoptions(7), system_data_types(7)
この文書について
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。