Single UNIX Specification

Single UNIX Specification (SUS) について



Single UNIX Specification(SUS)は、コンピュータオペレーティングシステム(OS)が「UNIX」を名乗るために満たすべき標準規格の総称です。これは、異なるベンダーのシステム間でのソフトウェアの移植性を向上させることを目指して策定されました。SUSは、IEEEThe Open Groupが協力して標準化作業を進め、現在はAustin Groupが開発と保守を担当しています。

歴史



1980年代中期、UNIX系OS間のインターフェースの標準化プロジェクトが始まりました。これは、企業が異なるベンダーのシステムを利用する際に、ソフトウェアの移植コストを削減したいという要望に応えるものでした。この標準化の基盤として選ばれたのは、ベンダーに依存しない中立的なOSと考えられていたUNIXでした。

1988年、この標準化作業の成果として、IEEE 1003(ISO/IEC 9945としても登録)またはPOSIX(Portable Operating System Interface for uniX)が誕生しました。しかし、1990年代初頭には、UNIX戦争の影響で主要ベンダーがCOSEアライアンスを結成し、Common API Specification(Spec 1170)を策定しました。この仕様は無料で入手可能であったため、IEEEがアクセス料を徴収したPOSIXよりも広く普及しました。

1997年、The Open GroupはSingle UNIX Specification Version 2(SUSv2)をリリースしました。この仕様は、Base Definitions, System Interfaces and Headers, Commands and Utilities, Networking Services, X/Open Cursesといった要素から構成され、「UNIX 98」ブランドの中核となりました。

1998年には、Austin Groupがこれらの仕様の統合を開始し、その結果としてSingle UNIX Specification Verision 3(SUSv3)が誕生しました。これはPOSIX:2001(IEEE Std 1003.1-2001)としても採用され、2002年1月30日にリリースされました。SUSv3は「UNIX 03」ブランドの中核となりました。

その後、2004年にはPOSIX:2001の改訂版(POSIX:2004)がリリースされ、2008年12月には大幅な修正が加えられたPOSIX:2008(IEEE Std 1003.1-2008)が公表されました。これがSingle UNIX Specification, Version 4(SUSv4)の中核となっています。

仕様



SUSv3は合計3700ページにも及ぶ大規模な仕様であり、以下の4つの主要なテーマに分類されています。

1. Base Definitions (XBD): 仕様記述で用いられる定義や規則、準拠システムが提供すべきC言語のヘッダーファイルのリストです。84個のヘッダーファイルが規定されています。
2. Shell and Utilities (XCU): コマンド(ユーティリティ)のリストと、シェルshの詳細が記載されています。160個のユーティリティが定義されています。
3. System Interfaces (XSH): 提供すべきシステムコールとCライブラリの詳細です。1123個のシステムインターフェースが規定されています。
4. Rationale (XRAT): この標準に関する解説が記述されています。

ユーザーコマンドラインインターフェースとスクリプトインターフェースはPOSIXシェルで、KornShellの初期バージョンをベースとした拡張版Bourne Shellです。その他のユーザーレベルのプログラムやサービス、ユーティリティにはawk, echo, ed, viなどが含まれます。プログラムレベルでは、I/O(ファイル、端末、ネットワーク)サービスなどが要求されています。また、PCTS (Posix Certification Test Suite) と呼ばれるテストプログラム集も付属しています。

SUSには、CURSES (XCURSES) の仕様も含まれており、372個の関数と3つのヘッダーファイルが定義されています。これらを含めると、SUSv3では合計1742個のインターフェースが規定されています。

重要な点として、この仕様を満たすためにAT&TUNIXソースコードを使う必要はありません。例えば、IBMOS/390|OS_390(現在のz/OS)は、独自のコードで実装されていますが、「UNIX」として認定されています。

準拠システムを示すマーク



SUSに準拠したシステムには、以下のマークが付与されます。

UNIX 98: SUS Version 2 に準拠したシステムを示すマーク
UNIX 03: SUS Version 3 に準拠したシステムを示すマーク

その他、古いマークとしては UNIX 93やUNIX 95が存在します。

各種OSの準拠状況



以下は、いくつかの主要なOSのSUSへの準拠状況です。

AIX: AIX 5L V5.2(一部更新)とAIX 5L V5.3、AIX 6.1がUNIX 03準拠として登録されています。AIX 5L V5.2はUNIX 98準拠です。
HP-UX: HP-UX 11i V3 Release B.11.31がUNIX 03準拠として登録されています。以前のバージョンはUNIX 95準拠です。
macOS: macOS X v10.5 Leopard以降がUNIX 03準拠として登録されています。
macOS Server: macOS Server v10.5でUNIX 03準拠として登録されています。
SCO: UnixWare 7.1.3はUNIX 95準拠、OpenServer 5はUNIX 93準拠です。
z/OS: IBM z/OSは1.9以前がUNIX 95準拠、z/OS 1.9はUNIX 03に準拠するように設計されています(完全準拠かどうかは不明)。
EulerOS: Huaweiが開発したEulerOS 2.0がUNIX 03準拠として登録されています。

過去に登録されていたシステムとして、Solaris, Tru64 UNIX, IRIXなどがあります。Solarisは、Oracleと富士通によってUNIX 03準拠で登録されていましたが、現在では登録されていません。また、Tru64 UNIXUNIX 98準拠、IRIXUNIX 95準拠で登録されていました。

未登録のUNIX系システム



LinuxやFreeBSDのようなUnix系OSは、仕様変更が頻繁に行われるため、認証を受けるためのコストに見合わないとして、SUSへの登録を一般的に行っていません。

BSD系: 現在、無料で利用可能なBSD系システムはSUSに登録されていません。ただし、FreeBSDはSUSの大部分に準拠するための計画が進められています。DarwinはmacOSの基盤であるBSDベースのオープンソースOSであり、SUSv3に準拠しています。
Linux: かつてはUnifix Linux 2.0がPOSIX.1に準拠していましたが、2007年12月の時点ではSUSに登録されたLinuxディストリビューションは存在しません。ただし、Linuxは可能な限りPOSIX互換になるように設計されており、Linux Standard Baseを通じて、POSIXやSUSを拡張した共通の基準を提供しています。

参考文献



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

関連項目



UNIX戦争
manページ
POSIX
オープンシステム
オープン標準

外部リンク



The Single UNIX Specification
Text of the Single UNIX Specification, version 2
Text of the Single UNIX Specification, version 3 (= POSIX:2001), 2004 edition
Text of POSIX.1-2017, 2018 edition
Register of products certified for the UNIX and other Open Group brands
Unix-Wars (Living Internet)
Unix Standards (エリック・レイモンド, The Art of Unix Programming)
* AIX Commands, Tools, Scripts and Explanations

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。