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) をリリース[ 1] [ 2] 。この仕様は以下の部分から構成されている。
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 ブランドの中核となった[ 3] 。
1998年 、Austin Group と呼ばれる共同ワーキンググループがこれらの仕様の統合を開始し、その成果が Single UNIX Specification Verision 3 (SUSv3) となり、POSIX:2001 (正式には IEEE Std 1003.1-2001)としても採用された。これは2002年1月30日にリリースとなった[ 4] 。この仕様は以下の部分から構成されている。
Base Definitions, Issue 6
System Interfaces and Headers, Issue 6
Commands and Utilities, Issue 6
そして、これが UNIX 03 ブランドの中核となった[ 5] 。
2004年、POSIX:2001 の改訂版がリリースされ、2つの技術的訂正がなされている。これを POSIX:2004 (正式には IEEE Std 1003.1-2004)と呼ぶ[ 6] [ 7] 。
2008年12月、Austin Group は新たな大幅修正版 POSIX:2008 (正式名称は IEEE Std 1003.1-2008)を公表した[ 8] [ 9] [ 10] 。これが Single UNIX Specification, Version 4 (SUSv4) の中核となっている[ 11] 。この仕様は以下の部分から構成されている。
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 [ 12] [ 13] 以降が Open Brand UNIX 03 に登録されている[ 14] 。
macOS Server
Leopard同様、Mac OS X Server v10.5 で Open Brand UNIX 03 に登録された[ 15] 。
SCO
z/OS
IBM z/OSは1.9以前は UNIX 95 準拠として登録されていた。2007年9月28日にリリースされた z/OS 1.9 は UNIX 03 にさらに近くなると発表した(完全準拠かどうかは不明)[ 16] 。
EulerOS (英語版 )
Huawei が開発しているx86-64 用のOSであるEulerOS 2.0はUNIX 03準拠として登録されている[ 17] [ 18] 。標準CコンパイラとしてGNU Compiler Collection (gcc )を用いているRed Hat 系のLinuxディストリビューション であることが登録書類に示されている[ 19] 。
Solaris
富士通 とOracle それぞれによって登録がなされており、Solaris 10は2017年頃までは両社、以降2020年1月頃まではOracleによって UNIX 03 準拠として登録されていた。Solaris 11は2020年1月頃まではOracleによって UNIX V7 準拠として登録されていた。Solaris 8 (2013年4月頃までは両社によって、以降2014年6月頃まではOracleによって)および 9 (2013年9月28日頃までは両社によって、以降まではOracleによって)は UNIX 98 準拠として登録されていた。
Tru64 UNIX
Tru64 UNIX V5.1A およびその後のリリースは UNIX 98 準拠として登録されていた。
IRIX
SGI IRIX 6.5 は UNIX 95 準拠として登録されていた[ 20] 。
Unix系 のLinux やFreeBSD などのシステムベンダーは、仕様変更が頻繁に行われるため、その度に認証を受ける必要が生じ、コストに見合わないため認証を受けないのが一般的である[ 21] 。
現在、無料で入手可能な BSD系 システムは SUS 準拠として登録されていない。
FreeBSD は "C99 and POSIX Conformance Project" により SUS の大部分に準拠する計画がある[ 22] 。
Darwin はFreeBSDベースのオープンソースのオペレーティングシステム である。これはmacOSのサブセットのオープンソース版とも言える。DarwinはSUSv3準拠である[ 23] 。
かつてドイツの Unifix Linux 2.0 という古いディストリビューション/バージョンが POSIX.1 に準拠していた。2007年12月の時点では、SUSに準拠・登録されたLinuxディストリビューションは存在していない。
リーナス・トーバルズ は、Linuxが可能な限り POSIX互換となるよう設計した[ 24] 。当初、この大部分は推測によるもので、彼はLinuxが始まってからしばらくしてPOSIX標準の印刷されたものを購入した。彼は、他のシステムのmanページ を見て、システムコールの動作を決めていたとも述べている[ 25] 。
Linux システムには、共通な拡張、共通なデファクトスタンダードがあり、それらは Linux Standard Base から提供されている。これは、POSIX 仕様や Single UNIX Specification その他のオープン標準に基づき、それらを一部拡張しているものである。デファクトスタンダード として多くのLinuxディストリビューション がこれを採用している[要出典 ] 。
^ The Open Group (Jul 16 2001). “The Single UNIX Specification, Version 2 ”. pubs.opengroup.org . 26 July 2009 閲覧。
^ "The Open Group Announces Enhanced Single UNIX Specification" (Press release). The Open Group. 12 March 1997. 2009年7月26日閲覧 。
^ The Open Group. “UNIX 98 ”. www.opengroup.org . The Open Brand Register . 6 April 2012 閲覧。
^ "The Open Group announces completion of the joint revision to POSIX and the Single UNIX Specification" (Press release). The Open Group. 30 January 2002. 2009年7月26日閲覧 。
^ The Open Group. “UNIX 03 ”. www.opengroup.org . The Open Brand Register . 26 July 2009 閲覧。
^ “The Open Group Base Specifications Issue 6 ”. pubs.opengroup.org . 6 April 2012 閲覧。
^ “IEEE Std 1003.1, 2004 Edition ”. 2009年7月26日 閲覧。
^ “The Open Group Base Specifications Issue 7, 2018 edition ”. pubs.opengroup.org . 6 April 2012 閲覧。
^ “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 ”. 4 February 2011 閲覧。
^ “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. 4, 15 (2007年2月6日). 2007年6月11日 閲覧。
^ “Huawei KunLun EulerOS 2.0 Operating System Passes UNIX Certification ”. Huawei . 2016年10月29日 閲覧。
^ The Open Group. “UNIX 03, EulerOS ”. 2022年1月8日 閲覧。
^ Peng Shen. “Huawei Conformance Statement: Commands and Utilities V4 ”. The Open Group. 2016年10月29日 閲覧。
^ 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 ”. 2013年12月23日02:53:51時点のオリジナル よりアーカイブ。20 February 2016 閲覧。
^ “Mac OS X Manual Page for compat(5) ”. 2009年3月10日14:36:49時点のオリジナル よりアーカイブ。11 July 2007 閲覧。
^ “LINUX is obsolete ”. groups.google.com . 2009年12月1日 閲覧。
^ Diamond, David、Torvalds, Linus 著、風見 潤 訳、中島 洋 編『Just for Fun - The story of an accidental revolutionary [それがぼくには楽しかったから : 全世界を巻き込んだリナックス革命の真実 ]』小学館プロダクション。ISBN 4-7968-8001-1 。