POSIX

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

POSIX(ポジックス[1][2][3]: Portable operating system interface)は、移植性の高いアプリケーションソフトウェアの開発を容易にすることを目的として、主にUNIX系オペレーティングシステム (OS) に関して、各OSが共通して持つべきアプリケーションプログラミングインタフェース (API) について定めたIEEE規格である。

概説[編集]

まず定義文をいくつか紹介すると、IT用語辞典では「主にUNIX系OSに共通する機能などについて、プログラムからの呼び出し方法などの標準を定めた規格[1]」としている。参考までに英語での定義文の例も紹介するとwordnikでは「a set of IEEE standards designed to provide application portability between UNIX variants.」[4](「UNIX系OSの間でのアプリケーション移植性を実現するためにつくられた、ひと組のIEEE規格」)という定義文を掲載している。

規格の内容

POSIXによって定められていることは、カーネルへのC言語インタフェースであるシステムコールプロセス環境、ファイルディレクトリ、システムデータベース(パスワードファイルなど)、アーカイブフォーマットなど多岐にわたる。

C言語のシステムコールとライブラリ関数を規定した規格としては、他にANSI/ISO C言語とSUSSingle UNIX Specification、XPG4の後継)がある。各規格の立場の違いにより、これらが含む関数の種類には差がある。数学の記号で表すと、ANSI/ISO C ⊂ POSIX.1 ⊂ SUSとなる。

なおPOSIXにはいくつものバージョンがあるので、単に「POSIX」と書いてある場合は、システムコールとライブラリ関数を規定したPOSIX.1 (IEEE Std 1003.1)を指している場合もある。

名称の由来

この規格は起源をさかのぼると、もともとはIEEEの規格番号やISO/IEC標準番号などで呼ばれていたものであるが、それが発展してゆく途中でPOSIXと改名された。最初、この一群の規格は「IEEE 1003」という名でつくられ、ISO/IEC標準での番号は「ISO/IEC 9945」だった。 1988年に「IEEE Std 1003.1-1988」と呼ばれていたころに、並行して「POSIX」という名称でも呼ばれ始めた。POSIXという名前はリチャード・ストールマンがIEEEに提案したものである[5]。末尾の「X」はUNIX互換OSに「X」の字がつく名前が多いことからつけられた。IEEE側のほうも、番号で呼ぶよりもPOSIXという名称で呼んだほうが発音しやすく憶えやすいと気づき、これを採用すると決め、正式名称という位置づけとなった。

POSIX指向のOS[編集]

各OSは、どれくらいPOSIXに適合しているかという程度によって、POSIX完全適合のものからPOSIX部分適合のものまで、多段階に分類することができる。IEEEでPOSIX認定を受けたOSは、登録されIEEEの公式ウェブサイト内で公表されている。[6]

POSIX-certified (POSIX認定済)[編集]

以下に挙げるOSのいくつかのバージョンは、POSIXのいずれかのバージョンを満たすとしてIEEEから認定を受けている[7]


POSIXにおおむね準拠[編集]

以下にあげるものは、IEEEから公式認定を受けてはいないが、おおむねPOSIXに準拠しているものである。

[編集]

ユニックス系以外

UnixOS以外でも、(すべてではないが)POSIX指向のOSはあり、たとえばWindows NTはWindows 7/Windows Server 2008 R2世代まではPOSIX 1.0に準拠しているPOSIXサブシステムを搭載しており、POSIXアプリケーションをそのサブシステム上で実行できる[22]WTO/TBT協定では、非関税障壁として工業製品は国際規格を尊重して仕様を規定することを提唱しているため、米国政府機関のコンピュータシステム導入要件 (FIPS) としてPOSIX準拠であることが規定されていたためである。[23]Windows 2000までPOSIXサブシステムを搭載していたが、Windows XPからはServices for UNIXに同梱のInterixサブシステムに役割を譲り、Windows Server 2003 R2やWindows VistaからはSubsystem for UNIX-based Applications (SUA)となった[22]。Windows 10では、Windows 10 version 1607以降で、WSL(Windows Subsystem for Linux)でPOSIX準拠するように変化している。

規格[編集]

Linuxの国際標準を制定するにあたり、LinuxPOSIXの差に関するTRを作成している。

最初の規格のテストスイートはアメリカ国立標準技術研究所POSIX Test Suite (POSIX 1990 version)としてオープンソースで提供している。

注釈・出典[編集]


  1. ^ a b POSIX(IT用語辞典)
  2. ^ [1]
  3. ^ [2]
  4. ^ POSIX, wordnik
  5. ^ POSIX 1003.1 FAQ Version 1.12” (2006年2月2日). 2010年12月29日閲覧。
  6. ^ [3]
  7. ^ [4]
  8. ^ IBM”. The Open Group. 2014年1月26日閲覧。
  9. ^ a b Hewlett-Packard”. The Open Group. 2014年1月26日閲覧。
  10. ^ Silicon Graphics, Inc.”. The Open Group. 2014年1月26日閲覧。
  11. ^ Huawei Technology Co., Ltd”. The Open Group. 2017年5月26日閲覧。
  12. ^ The Open Brand - Register of Certified Products”. Register of Open Branded Products. The Open Group. 2015年5月20日閲覧。
  13. ^ Apple Inc”. Register of Open Branded Products. The Open Group. 2015年5月20日閲覧。
  14. ^ Oracle Corporation”. The Open Group. 2014年1月26日閲覧。
  15. ^ UnixWare ® 7.1.3 and later”. The Open Group (2003年5月16日). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  16. ^ QNX Achieves New POSIX Certification”. QNX (2008年4月8日). 2016年1月16日閲覧。
  17. ^ Inspur Co., Ltd”. The Open Group. 2017年5月26日閲覧。
  18. ^ POSIX Certification Register”. get.posixcertified.ieee.org. 2018年3月9日閲覧。
  19. ^ Schweikhardt, Jens. “POSIX utilities”. FreeBSD. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  20. ^ Mark Halper (7 November 1994). “HP 3000 sales catch market by surprise”. Computerworld (IDG Enterprise) 28 (4). https://books.google.com/books?id=-6GcSQAVaHgC&q=posix&pg=PA24. 
  21. ^ Solter, Nicholas A.; Jelinek, Jerry; Miner, David (21 March 2011) (英語). OpenSolaris Bible. John Wiley & Sons. ISBN 9781118080313. https://books.google.com/books?id=y8qaxiZNvqAC 
  22. ^ a b POSIX and UNIX Support in Windows”. 2018年8月10日閲覧。
  23. ^ Federal Information Processing Standard (FIPS) 151-2 - ウェイバックマシン(2014年2月20日アーカイブ分)

関連項目[編集]

外部リンク[編集]