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) をリリース[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 がある。

## 各種OSの準拠状況

[編集]

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

* UnixWare 7.1.3 は UNIX 95 準拠として登録されている。
* OpenServer 5 は UNIX 93 準拠として登録されている。

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系システム

[編集]

Unix系のLinuxやFreeBSDなどのシステムベンダーは、仕様変更が頻繁に行われるため、その度に認証を受ける必要が生じ、コストに見合わないため認証を受けないのが一般的である[21]。

#### BSD系

[編集]

現在、無料で入手可能な BSD系システムは SUS 準拠として登録されていない。

FreeBSD は "C99 and POSIX Conformance Project" により SUS の大部分に準拠する計画がある[22]。

DarwinはFreeBSDベースのオープンソースのオペレーティングシステムである。これはmacOSのサブセットのオープンソース版とも言える。DarwinはSUSv3準拠である[23]。

#### ほとんどのLinux系OS

[編集]

かつてドイツの 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ディストリビューションがこれを採用している[要出典]。

## 参考文献

[編集]

* Andrew Josey (2004-10-28). Single UNIX Specification Frequently Asked Questions. 1.9. http://opengroup.org/austin/papers/single_unix_faq.html.

## 脚注

[編集]

1. ^ The Open Group (2001年7月16日). “The Single UNIX Specification, Version 2”. pubs.opengroup.org. 2009年7月26日閲覧。
2. ^ "The Open Group Announces Enhanced Single UNIX Specification" (Press release). The Open Group. 12 March 1997. 2009年7月26日閲覧。
3. ^ The Open Group. “UNIX 98”. www.opengroup.org. The Open Brand Register. 2012年4月6日閲覧。
4. ^ "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日閲覧。
5. ^ The Open Group. “UNIX 03”. www.opengroup.org. The Open Brand Register. 2009年7月26日閲覧。
6. ^ “The Open Group Base Specifications Issue 6”. pubs.opengroup.org. 2012年4月6日閲覧。
7. ^ “IEEE Std 1003.1, 2004 Edition”. 2009年7月26日閲覧。
8. ^ “The Open Group Base Specifications Issue 7, 2018 edition”. pubs.opengroup.org. 2012年4月6日閲覧。
9. ^ “Base Specifications, Issue 7”. The Open Group. 2009年7月26日閲覧。
10. ^ “The Austin Common Standards Revision Group”. The Open Group. 2009年7月26日閲覧。
11. ^ “Single UNIX Specification Version 4”. 2011年2月4日閲覧。
12. ^ “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.”
13. ^ The Open Group. “Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification”. 2007年6月12日閲覧。
14. ^ The Open Group. “Register of Certified Products > Apple Inc”. 2012年9月4日閲覧。
15. ^ “Mac OS X Server -Technology - UNIX”. Apple Inc.. 2008年1月19日閲覧。
16. ^ “Preview: IBM z/OS V1.9 advanced infrastructure solutions for your business needs” (PDF). IBM. pp. 4, 15 (2007年2月6日). 2007年6月11日閲覧。
17. ^ “Huawei KunLun EulerOS 2.0 Operating System Passes UNIX Certification”. Huawei. 2016年10月29日閲覧。
18. ^ The Open Group. “UNIX 03, EulerOS”. 2022年1月8日閲覧。
19. ^ Peng Shen. “Huawei Conformance Statement: Commands and Utilities V4”. The Open Group. 2016年10月29日閲覧。
20. ^ The Open Group. “Register of Certified Products”. 2009年12月20日閲覧。
21. ^ “The Open Brand Fee Schedule”. The Open Group. 2007年5月11日閲覧。 UNIX ブランドを使用するのにかかる料金のリスト
22. ^ “FreeBSD C99 and POSIX Conformance Project”. 2013-12-23 02:53:51時点のオリジナルよりアーカイブ。2016年2月20日閲覧。
23. ^ “Mac OS X Manual Page for compat(5)”. 2009-03-10 14:36:49時点のオリジナルよりアーカイブ。2007年7月11日閲覧。
24. ^ “LINUX is obsolete”. groups.google.com. 2009年12月1日閲覧。
25. ^ Diamond, David、Torvalds, Linus 著、風見 潤 訳、中島 洋 編『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.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

* 表
* 話
* 編
* 歴

IEEE標準

現行|

* 488
* 730
* 754
* 854
* 828
* 829
* 896
* 1003
* 1014
* 1016
* 1076
* 1149.1
* 1154
* 1164
* 1275
* 1278
* 1284
* 1355
* 1394
* 1451
* 1497
* 1516
* 1541
* 1547
* 1584
* 1588
* 1596
* 1603
* 1613
* 1666
* 1667
* 1675
* 1685
* 1800
* 1801
* 1815
* 1850
* 1888
* 1900
* 1901
* 1902
* 1904
* 1905
* 2030
* 11073
* 12207
* 14764
* 16085
* 16326
* 29148
* 42010

802系列|

| 802.1|

* Q
* D
* s
* w
* ad
* ag
* ah
* ak
* aq
* az
* X
* AB
* AE
* AX

|

802.3|

* a
* b
* e
* i
* j
* u
* y
* z
* ab
* ae
* af
* ah
* ak
* an
* aq
* at
* az
* ba
* bg
* bj
* bm
* bp
* bs
* bt
* bu
* bv
* bw
* bz

802.11|

* a
* b
* c
* d
* e
* f
* g
* h
* i
* j
* k
* n
* p
* r
* s
* u
* v
* w
* y
* ac
* ad
* af
* ah
* ai
* ax
* be

* .2
* .4
* .5
* .6
* .9
* .10
* .12
* .14
* .15
* .1
* .4
* .6
* .7
* .16
* .17
* .20
* .21
* .22

提案|

* P1363
* P1619
* P1699
* P1823
* P1906.1

廃止|

* 754-1985
* 830
* 1219
* 1233
* 1362
* 1364
* 1471

組織|

* IEEE
* IEEE Standards Association

* カテゴリ