シングルUNIX 仕様( SUS ) は、コンピュータオペレーティングシステムの標準であり、[ 1 ] [ 2 ]「UNIX」商標を使用するには、この標準に準拠する必要があります。この標準は、C 言語のプログラミング インターフェイス、コマンドライン シェル、およびユーザー コマンドを規定しています。ベース仕様として知られる SUS の中核仕様は、IEEE、ISO/IEC JTC 1/SC 22 /WG 15、およびThe Open Groupの合同作業グループであるAustin Groupによって開発および維持されています。オペレーティングシステムが認証のために The Open Group に提出され、適合性テストに合格すると、UNIX 98 や UNIX 03などの UNIX 標準に準拠しているとみなされます。
BSDおよびLinuxベースのオペレーティングシステムで、Single UNIX Specificationへの準拠を申請しているものはごくわずかである。ただし、システム開発者は一般的に、Single UNIX Specificationの中核を成すPOSIX規格への準拠を目指している。
最新のSUSは2つの部分から構成されています。1つはPOSIXと技術的に同一の基本仕様、もう1つはX/Open Curses仕様です。 [ 3 ]
SUSの一部の要素はオプションです。
SUSは、1980年代にUnixオペレーティングシステムの派生版向けに設計されたソフトウェアのオペレーティングシステムインターフェースを標準化しようとする複数の取り組みから生まれた。標準化の必要性が生じたのは、コンピュータを使用する企業が、異なるメーカーのコンピュータシステム上でプログラムを再実装することなく使用できるプログラムを開発したいと考えたためである。Unixが標準システムインターフェースの基盤として選ばれた理由の一つは、Unixがメーカーに依存しない点にあった。
1984年、/usr/groupと呼ばれるUNIXユーザーグループは、プログラミングインターフェースの標準化作業の結果を1984年の/usr/group標準として発表し、これが後にPOSIX.1-1988標準となるものの基礎となった。[ 4 ] [ 5 ]
1985年、AT&TはUNIX System Vプログラミングインターフェースの仕様であるSystem V Interface Definition (SVID)を公開した。 [ 6 ]
1988年に標準化の取り組みの結果、IEEE 1003 ( ISO / IEC 9945としても登録)またはPOSIX .1-1988が誕生しました。これは大まかにPortable Operating System Interfaceの略です。
X /Openポータビリティガイド(XPG)はSUSの前身であり、 1984年に設立された企業連合であるX/Open Companyによって発行された。このガイドはその後数年間にわたって発行された。
XPG4 Baseには以下の文書が含まれていました。
1990年代初頭、Unix戦争の余波でCOSEアライアンスを結成した複数の主要ベンダー[ 9 ]によって、Common API SpecificationまたはSpec 1170として知られる別の取り組みが開始されました。1993年、Spec 1170はCOSEによってX/Openにファストトラックとして割り当てられました[ 10 ]。1993年10月、ノベルからX/OpenへのUNIX商標の移転計画が発表され[ 11 ] 、 1994年第2四半期に最終決定されました[ 12 ]。Spec 1170は最終的にSingle Unix Specificationになりました[ 9 ] 。
1994年、X/Open社はシングルUNIX仕様をリリースした。[ 9 ] SUSはX/Open共通アプリケーション環境(CAE)の一部である文書で構成されていた。[ 9 ]
これは、X/Open移植性ガイド(XPG)第4版、バージョン2を再パッケージ化したものです。
X/Open Curses、第4号、バージョン2がこのSUSの一部であったかどうかについては情報源によって異なっている。[ 9 ] [ 17 ]著作権表示は1996年となっている。[ 18 ] X/Open Curses、第4号は1995年に発行された。[ 19 ]
1994年10月、X/OpenはSpec 1170を「“Single-Unix”仕様」と呼ぶ予定であることを表明した。[ 20 ]
SUSはUNIX 95ブランドの中核を成すものであった。[ 21 ]
このバージョンには1168のプログラミングインターフェースがありました。[ 22 ]
このバージョンのSUSは、以下の情報源から作成されました。[ 9 ]
1996年、X/OpenはOpen Software Foundation(OSF)と合併し、The Open Groupを結成した。[ 23 ] [ 24 ]
1997年、オープングループはシングルUNIX仕様バージョン2をリリースした。[ 25 ] [ 26 ]
この仕様は以下から構成されていた:[ 27 ]
そして、UNIX 98 ブランドの中核を成していた。[ 33 ]
このバージョンには1434のプログラミングインターフェースがありました。[ 22 ]
1998年に、 IEEE、ISO JTC 1 SC22、およびThe Open Groupの合同ワーキンググループであるAustin Groupが、Single UNIX Specificationバージョン3の中核、およびPOSIX.1-2001として知られることになる統合標準の開発を開始しました。これは2002年1月30日にリリースされました。[ 34 ]
このSUSは以下で構成されていた:[ 35 ]
そして、UNIX 03 ブランドの中核を成すものである。[ 36 ]
基本仕様は技術的にはPOSIX.1-2001と同一であり、これは IEEE Std 1003.1-2001 である。[ 35 ]
このバージョンには1742のプログラミングインターフェースがありました。[ 22 ]
このバージョンには公式ガイドが用意されています。[ 37 ]
2004年に、2つの技術的な訂正を組み込んだPOSIX.1-2001規格の新版がリリースされました。[ 38 ] [ 39 ]これはIEEE Std 1003.1、2004年版と呼ばれています。[ 39 ]非公式にはPOSIX.1-2004と呼ばれることもありますが、[ 40 ] [ 41 ] [ 42 ]これは公式の識別ではありません。
2008 年 12 月、Austin Group はSUS と POSIX の新しいメジャー改訂版を公開しました。[ 43 ] [ 44 ] [ 45 ]これは、Single UNIX Specification、バージョン 4 (SUSv4) です。[ 46 ]
このSUSは以下から構成されます:[ 47 ]
基本仕様は技術的にはPOSIX.1-2008と同一であり、これは IEEE Std 1003.1-2008 である。[ 47 ]
このバージョンには 1833 個のインターフェースがあり、そのうち 1191 個はシステム インターフェース セクションにありました。[ 48 ]
技術訂正1は主に国際化を対象としており、役割ベースのアクセスモデルも導入した。SUSバージョン4への準拠を示すために、 UNIX V7という商標(1979年のResearch UnixのバージョンであるV7 UNIXと混同しないように)が作成された。[ 49 ]
技術訂正2は2016年9月に発行され、IEEE Std 1003.1-2008、2016年版およびSingle UNIX Specification、バージョン4、2016年版につながりました。
2018年1月、「管理ロールアップ」版がリリースされました。これはSingle UNIX Specificationバージョン4 TC1およびTC2を組み込んでおり、技術的には2016年版と同一です。[ 50 ]
基本仕様は技術的にはPOSIX.1-2017と同一であり、これは IEEE Std 1003.1-2017 である。[ 51 ]
SUSv3は合計約3700ページからなり、主に4つの部分に分かれています。
標準のユーザーコマンドラインおよびスクリプトインターフェースはPOSIXシェルであり、これはKornシェルの初期バージョンを基にしたBourneシェルの拡張版です。その他のユーザーレベルのプログラム、サービス、ユーティリティには、awk、echo、ed、viなど数百種類があります。必須のプログラムレベルのサービスには、基本的な入出力(ファイル、端末、ネットワーク)サービスが含まれます。この規格にはテストスイートが付属しており、 PCTS(POSIX認証テストスイート)と呼ばれています。
さらに、SUSにはCURSES(XCURSES)仕様が含まれており、372個の関数と3個のヘッダーファイルが規定されています。合計すると、SUSv3は1742個のインターフェースを規定しています。
仕様を満たすために、システムがAT&T Unixから派生したソースコードを含んでいる必要はないことに注意してください。たとえば、IBM OS/390(現在はz/OS)は、共通のコードがないにもかかわらず、UNIXとして認められます。[ 52 ]
AIXとmacOSのみがUNIX 03以降の認証を取得しています。z/OSは主に非UNIX系OSであり、現在も利用可能ですが、古いUNIX認証に基づいています。その他の製品は、既に販売終了しているか、UNIX 03以前の認証に基づいているか、認証が失効しています。
AIXバージョン 7 は、7.1 TL5 (以降) または 7.2 TL2 (以降) のいずれかで UNIX 03 準拠として登録されています。[ 61 ] AIX バージョン 7 は、7.2 TL5 (以降) で UNIX V7 準拠として登録されています。[ 62 ]以前のバージョンは、以前は UNIX 95 および UNIX 98 マークの認証を受けていました。[ 63 ]
HP-UX 11i V3 リリース B.11.31 は、HPE による HP-UX のサポート終了にもかかわらず、HPE Integrity サーバー 上で UNIX 03 準拠として登録されたままです。 [ 64 ]以前のリリースは UNIX 95 として登録されていました。[ 65 ]
Apple macOS (以前は Mac OS X および OS X として知られていた) は UNIX 03 準拠として登録されています。[ 66 ]最初に登録されたバージョンはMac OS X 10.5 Leopardで、2007 年 10 月 26 日に (x86 システムで) 認証されました。[ 67 ] [ 68 ]
Mac OS X Leopard からmacOS 10.15 CatalinaまでのすべてのバージョンのmacOSは、OS X Lionを除いてIntel ベースのシステムに登録されており、 macOS Catalina の後継であるmacOS 11 Big SurからmacOS 26 Tahoeまでのすべてのバージョンは、x86-64システムとARM64システムの両方に登録されています。[ 69 ] [ 70 ]
UnixWare 7.1.3以降は、UNIX 95準拠として登録されています。
OpenServer 5および6は、UNIX 93準拠として登録されています。
IBM z/OS 1.2以降はUNIX 95準拠として登録されています。2007年9月28日にリリースされたz/OS 1.9以降のリリースはUNIX 03に「より適合」しています。[ 71 ]
x86-64アーキテクチャ向けのEulerOS 2.0 は、UNIX 03 準拠として登録されました 。[ 72 ] [ 73 ] UNIX 03 適合性ステートメントには、標準 C コンパイラがGNU Compiler Collection ( gcc ) のものであり、システムがRed Hat Enterprise LinuxファミリーのLinux ディストリビューションであることが示されています。[ 74 ] UNIX 03 認証は 2022 年 9 月に期限切れとなり、更新されていません。[ 73 ]
Stratus Technologies社のDNCPシリーズサーバー(FTXリリース3搭載)は、UNIX 93準拠として登録されました。[ 75 ]
x86-64アーキテクチャ向けのInspur K-UX 2.0および3.0は、UNIX 03準拠として認定されました 。[ 76 ] [ 77 ] Inspur K-UX 2.0および3.0のUNIX 03適合性ステートメントには、標準CコンパイラがGNU Compiler Collection(gcc)のものであり、システムがRed HatファミリーのLinuxディストリビューションであることが示されています。[ 78 ]
Reliantの最後のUNIXバージョンは、UNIX 95準拠(XPG4のハードブランディング)として登録されていました。
Solaris 11.4 は、2018 年に UNIX v7 準拠として登録されていました。[ 81 ] Solaris 11 と Solaris 10 は、32 ビットおよび64 ビットのx86 ( X86-64 ) およびSPARCシステムで UNIX 03 準拠として登録されました。Solaris 8 と 9 は、32 ビットのx86およびSPARCシステムで UNIX 98 準拠として登録されました。64 ビットの x86 システムはサポートされていませんでした。Solaris 2.4 と 2.6 は、x86 と SPARC の両方で、それぞれ UNIX 93 と UNIX 95 の認証を受けていました。[ 63 ]
Solaris 2.5.1は1996年にPReP PowerPCプラットフォーム上でUNIX 95準拠として登録されたが、数十部しか売れないうちに販売中止となった。[ 82 ]
Tru64 UNIX V5.1A以降はUNIX 98準拠として登録されました。[ 83 ]
以前にUNIX 95またはUNIX 93準拠として登録されていたその他のオペレーティングシステム:
Linux、FreeBSD、MINIXなどのUnix系オペレーティングシステムの開発者やベンダーは、通常、自社のディストリビューションを認証せず、POSIX準拠のユーティリティをデフォルトでインストールすることもありません。
Linux の場合、paxコマンドは通常インストールされていません。さらに、Linux で利用可能な pax コマンド パッケージには、POSIX で要求される pax ファイル フォーマットのサポートが欠けていることがよくあります。[ 84 ] SUS 準拠は、追加のパッケージをインストールすることで改善できる場合もありますが、完全に準拠するように構成できる Linux システムはほとんどありません。Linux Standard Base は、互換性を高めるために Linux ベース システムの内部構造を標準化する試みとして 2001 年に形成されました。これは、POSIX 仕様、Single UNIX Specification、およびその他のオープン スタンダードに基づいており、いくつかの領域でそれらを拡張していますが、LSB と POSIX 標準の間にはいくつかの矛盾があります。[ 85 ] [ 86 ]実際に LSB 準拠として認証を受けるLinux ディストリビューションはほとんどありません。 [ 87 ]
macOS のオープンソース サブセットであるDarwin は 、UNIX 03に準拠するように設定できる動作を備えています。[ 88 ] [ 89 ] Darwin は 4.4BSD 由来の pax コマンドを使用していますが、[ 90 ]ファイル名のマルチバイト サポートがありません。
FreeBSD には以前、「C99 および POSIX 準拠プロジェクト」があり、これは Single UNIX Specification のサブセットへの準拠と、相違点に関するドキュメント作成を目的としていました。[ 91 ] 4.4BSD から派生した FreeBSD の pax コマンドは、pax ファイル形式を完全にはサポートしていません。[ 92 ] pax と ustar の in-archive 形式は、デフォルト値がわずかに異なる (ブロックサイズ 5120 対 10240) 同じものを使用しています。[ 93 ]ただし、FreeBSD の pax には、拡張文字セットのサポートに使用される拡張 PAX ヘッダーがありません。FreeBSD の man ページでは、STANDARDS セクションで POSIX および SUS からの逸脱が示されることがあります。[ 94 ]
OpenBSD の man ページには、STANDARDS セクションで POSIX および SUS からの逸脱が示されている場合があります。[ 95 ] [ 96 ]
MINIXのpaxコマンドはpaxファイル形式[ 97 ]をサポートしていないため、POSIX.1-2001に準拠していません。
は現在、C API、シェルユーティリティ、およびスレッドの SUSv3 および POSIX 1003.1 仕様に準拠した Open Brand UNIX 03 登録製品です。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)