Single UNIX Specification

Single UNIX Specification（SUS、唯一のUNIX仕様）とは、"UNIX"を名乗ることができるコンピュータのオペレーティングシステム (OS) の標準規格全体を総称したものである。SUSは、IEEEと The Open Group の標準化作業の結果に基づくもので、Austin Group が開発および保守を行っている。 1980年代中頃、様々なUNIX系OSのインタフェースを標準化するプロジェクトが開始され、これらがSUSの元となった。標準化の必要性は様々なベンダーのシステムを使っている企業の要望によるもので、ベンダーの異なるシステムでのソフトウェア移植のコストをなるべく減らしたいということから始まった。その標準化のベースとしてUNIXが選択された。というのもUNIXはベンダーに依存していない中立なOSと考えられたからである。 この標準化作業の結果できたのが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, Issue 5 System Interfaces and Headers, Issue 5 Commands and Utilities, Issue 5 Networking Services, Issue 5 X/Open Curses, Issue 4, Version 2 そして、これが UNIX 98 ブランドの中核となった。 1998年、Austin Group と呼ばれる共同ワーキンググループがこれらの仕様の統合を開始し、その成果が Single UNIX Specification Verision 3 (SUSv3) となり、POSIX:2001（正式には IEEE Std 1003.1-2001）としても採用された。これは2002年1月30日にリリースとなった。この仕様は以下の部分から構成されている。 Base Definitions, Issue 6 System Interfaces and Headers, Issue 6 Commands and Utilities, Issue 6 そして、これが UNIX 03 ブランドの中核となった。 2004年、POSIX:2001 の改訂版がリリースされ、2つの技術的訂正がなされている。これを POSIX:2004（正式には IEEE Std 1003.1-2004）と呼ぶ。 2008年12月、Austin Group は新たな大幅修正版 POSIX:2008（正式名称は IEEE Std 1003.1-2008）を公表した。これが Single UNIX Specification, Version 4 (SUSv4) の中核となっている。この仕様は以下の部分から構成されている。 Base Definitions, Issue 7 System Interfaces and Headers, Issue 7 Commands and Utilities, Issue 7 SUSv3 は全部で3700ページに及び、テーマ別に以下の4つに分けられている。 Base Definitions (XBD) - 仕様記述に使われる定義と約束事のリストと、準拠するシステムが必ず提供しなければならないC言語のヘッダーファイルのリスト。全部で84のヘッダファイルが提供されている。 Shell and Utilities (XCU) - ユーティリティ（コマンド）のリストとシェル sh の詳細。全部で160のユーティリティが示されている。 System Interfaces (XSH) - 提供しなければならないシステムコールとCライブラリの詳細。全部で1123のシステムインタフェースが示されている。 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&TのUNIXのソースコードを使う必要はないという点である。実際、IBMのOS/390（現在はz/OS）はコードは完全に独自だが "UNIX"と名乗ることを認定されている。 準拠システムを示すふたつのマークが存在する。 UNIX 98 - SUS Version 2 に準拠したシステムを示すマーク UNIX 03 - SUS Version 3 に準拠したシステムを示すマーク これらより古い準拠システム示すマークとして UNIX 93 や UNIX 95 がある。 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 - UNIXを標榜しつつも長らくSUSを取得していなかったが、Mac OS X v10.5 Leopard以降が Open Brand UNIX 03 に登録されている。 macOS Server - Leopard同様、Mac OS X Server v10.5 で Open Brand UNIX 03 に登録された。 SCO UnixWare 7.1.3 は UNIX 95 準拠として登録されている。 OpenServer 5 は UNIX 93 準拠として登録されている。 Solaris - Solaris 10 は UNIX 03 準拠として登録されている（富士通が登録）。Solaris 8 および 9 は UNIX 98 準拠として登録されている。 Tru64 UNIX - Tru64 UNIX V5.1A およびその後のリリースは UNIX 98 準拠として登録されている。 z/OS - IBM z/OSは1.9以前は UNIX 95 準拠として登録されていた。2007年9月28日にリリースされた z/OS 1.9 は UNIX 03 にさらに近くなると発表した（完全準拠かどうかは不明）。 IRIX - SGI IRIX 6.5 は UNIX 95 準拠として登録されている。 Unix系のLinuxやFreeBSDなどのシステムベンダーは、仕様変更が頻繁に行われるため、その度に認証を受ける必要が生じ、コストに見合わないため認証を受けないのが一般的である。 現在、無料で入手可能な BSD系システムは SUS 準拠として登録されていない。 FreeBSD は "C99 and POSIX Conformance Project" により SUS の大部分に準拠する計画がある。 DarwinはFreeBSDベースのオープンソースのオペレーティングシステムである。これはmacOSのサブセットのオープンソース版とも言える。DarwinはSUSv3準拠である。 かつてドイツの Unifix Linux 2.0 という古いディストリビューション/バージョンが POSIX.1 に準拠していた。2007年12月の時点では、SUSに準拠・登録されたLinuxディストリビューションは存在していない。 リーナス・トーバルズは、Linuxが可能な限り POSIX互換となるよう設計した。当初、この大部分は推測によるもので、彼はLinuxが始まってからしばらくしてPOSIX標準の印刷されたものを購入した。彼は、他のシステムのmanページを見て、システムコールの動作を決めていたとも述べている。 Linuxシステムには、共通な拡張、共通なデファクトスタンダードがあり、それらは Linux Standard Base から提供されている。これは、POSIX 仕様や Single UNIX Specification その他のオープン標準に基づき、それらを一部拡張しているものである。デファクトスタンダードとして多くのLinuxディストリビューションがこれを採用している[要出典]。 Andrew Josey (2004年10月28日). Single UNIX Specification Frequently Asked Questions. 1.9. http://opengroup.org/austin/papers/single_unix_faq.html.  ^ Keyword Search the Single UNIX Specification, Version 2 ^ “The Open Group Announces Enhanced Single UNIX Specification” (プレスリリース), The Open Group, (1997年3月12日), http://www.unix.org/version2/pr.html 2009年7月26日閲覧。  ^ UNIX 98 The Open Group ^ “The Open Group announces completion of the joint revision to POSIX and the Single UNIX Specification” (プレスリリース), The Open Group, (2002年1月30日), http://www.unix.org/version3/pr.html 2009年7月26日閲覧。  ^ UNIX 03 The Open Group ^ The Open Group Base Specifications Issue 6 ^ “IEEE Std 1003.1, 2004 Edition”. 2009年7月26日閲覧。 ^ The Open Group Base Specifications Issue 7 ^ “Base Specifications, Issue 7”. The Open Group. 2009年7月26日閲覧。 ^ “The Austin Common Standards Revision Group”. The Open Group. 2009年7月26日閲覧。 ^ Single UNIX Specification Version 4 ^ “Mac OS X Leopard - テクノロジー - UNIX”. Leopard テクノロジー. アップルジャパン株式会社. 2008年8月16日閲覧。 “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”. 2007年6月12日閲覧。 ^ The Open Group. “Register of Certified Products > Apple Inc”. 2012年9月4日閲覧。 ^ “Mac OS X Server -Technology - UNIX”. Apple Inc.. 2008年1月19日閲覧。 ^ “Preview: IBM z/OS V1.9 advanced infrastructure solutions for your business needs (PDF)”. IBM. pp. pp. 4, 15 (2007年2月6日). 2007年6月11日閲覧。 ^ The Open Group. “Register of Certified Products”. 2009年12月20日閲覧。 ^ “The Open Brand Fee Schedule”. The Open Group. 2007年5月11日閲覧。 UNIX ブランドを使用するのにかかる料金のリスト ^ FreeBSD C99 and POSIX Conformance Project ^ compat(5) manページ ^ com.os.minix LINUX is obsolute ^ "Just for Fun - The story of an accidental revolutionary"邦題『それがぼくには楽しかったから』(ISBN:4-7968-8001-1) 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:2008 Register of products certified for the UNIX and other Open Group brands The Portable Application Standards Committee Unix-Wars (Living Internet) Unix Standards (エリック・レイモンド, The Art of Unix Programming) AIX Commands, Tools, Scripts and Explanations