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]。この仕様は以下の部分から構成されている。
そして、これが UNIX 98 ブランドの中核となった[3]。
1998年、Austin Group と呼ばれる共同ワーキンググループがこれらの仕様の統合を開始し、その成果が Single UNIX Specification Verision 3 (SUSv3) となり、POSIX:2001(正式には IEEE Std 1003.1-2001)としても採用された。これは2002年1月30日にリリースとなった[4]。この仕様は以下の部分から構成されている。
そして、これが 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]。この仕様は以下の部分から構成されている。
SUSv3 は全部で3700ページに及び、テーマ別に以下の4つに分けられている。
この標準でのユーザのコマンドラインインターフェイスとスクリプトインターフェイスは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 93 や UNIX 95 がある。
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ディストリビューションがこれを採用している[要出典]。