POSIX

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

POSIX(ポジックス[1][2][3][注 1][4]: Portable Operating System Interface)は、(主にUNIX系の)OSに共通する機能などについて、プログラムからの呼び出し方法などの標準を定めた規格[1]オペレーティングシステム (OS) の標準的なインタフェースおよび環境を定義するIEEE規格である[5]。ソースコードレベルでの移植性の高いアプリケーションソフトウェアの開発を容易にすることを目的として、主にUNIX系のOSに関して、各OSが共通して持つべきコマンドラインインタプリタ(シェル)、共通のユーティリティプログラム、およびアプリケーションプログラミングインタフェース (API) について定めている。アプリケーション開発者とシステム実装者の両方から利用されることを意図している。

概要[ソースを編集]

規格の内容[ソースを編集]

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

C言語のシステムコールとライブラリ関数を規定した規格としては、他にANSI C/ISO CとSUS(Single 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に提案したものである[6]。末尾の「X」はUNIX互換OSに「X」の字がつく名前が多いことからつけられた。IEEE側のほうも、番号で呼ぶよりもPOSIXという名称で呼んだほうが発音しやすく憶えやすいと気づき、これを採用すると決め、正式名称という位置づけとなった。

POSIX指向のOS[ソースを編集]

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

POSIX準拠[ソースを編集]

以下に挙げるOSのいくつかのバージョンは、POSIXのいずれかのバージョンを満たすとしてIEEEから認証を受けている (POSIX-certified)。

POSIXにおおむね準拠[ソースを編集]

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

Windows系OSの場合の紆余曲折[ソースを編集]

CygwinをインストールすればPOSIXコンパチブルなプログラミング環境を得ることができる。

時をさかのぼると、Windows NT系Windows 7/Windows Server 2008 R2世代まではPOSIX 1.0に準拠しているPOSIXサブシステムを搭載していて、POSIXアプリケーションをそのサブシステム上で実行できた[23]貿易の技術的障害に関する協定 (WTO/TBT協定) では、非関税障壁として工業製品は国際規格を尊重して仕様を規定することを提唱しているため、米国政府機関のコンピュータシステム導入要件 (連邦情報処理標準、FIPS) としてPOSIX準拠であることが規定されていたためである[24]Windows 2000までPOSIXサブシステムを搭載していたが、Windows XPからはServices for UNIXに同梱のInterixサブシステムに役割を譲り、Windows Server 2003 R2やWindows VistaからはSubsystem for UNIX-based Applications (SUA) となった[23]。だがマイクロソフトはWindows Server 2012よりUNIXベースアプリケーション用サブシステムを非推奨とし代替手段の一つとしてCygwinのPOSIXエミュレーションモードを紹介するようになった[25]。(ところが)Windows 10では、Windows 10 version 1607以降で、WSL (Windows Subsystem for Linux) にてPOSIX準拠するように変化している。

規格[ソースを編集]

Linuxの国際標準を制定するにあたり、LinuxとPOSIXの差に関するTR[要説明]を作成している。

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

脚注[ソースを編集]

注釈[ソースを編集]

  1. ^ IEEEの公式サイトのFAQでは「ポックス」に近い発音だと明確に記載されている。
  2. ^ ただし、Android NDKを利用する場合に限る。
  3. ^ ほとんどのディストリビューションが該当するが、全てではない。Linux Standard Baseを参照。

出典[ソースを編集]

  1. ^ a b POSIX(Portable Operating System Interface)とは - IT用語辞典 e-Words
  2. ^ Linux用語事典 [POSIX(Portable Operating System Interface for UNIX)]
  3. ^ POSIX™ 1003.1 Frequently Asked Questions (FAQ Version 1.18)” (2020年6月13日). 2021年5月6日閲覧。 “It is expected to be pronounced pahz-icks, as in positive, not poh-six, or other variations.”
  4. ^ POSIX | Definition of POSIX by Oxford Dictionary on Lexico.com also meaning of POSIX
  5. ^ P1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8
  6. ^ POSIX 1003.1 FAQ Version 1.12” (2006年2月2日). 2010年12月29日閲覧。
  7. ^ POSIX Certification Register
  8. ^ POSIX Certification Guide
  9. ^ IBM”. The Open Group. 2014年1月26日閲覧。
  10. ^ a b Hewlett-Packard”. The Open Group. 2014年1月26日閲覧。
  11. ^ Silicon Graphics, Inc.”. The Open Group. 2014年1月26日閲覧。
  12. ^ Huawei Technology Co., Ltd”. The Open Group. 2017年5月26日閲覧。
  13. ^ The Open Brand - Register of Certified Products”. Register of Open Branded Products. The Open Group. 2015年5月20日閲覧。
  14. ^ Apple Inc”. Register of Open Branded Products. The Open Group. 2015年5月20日閲覧。
  15. ^ Oracle Corporation”. The Open Group. 2014年1月26日閲覧。
  16. ^ UnixWare ® 7.1.3 and later”. The Open Group (2003年5月16日). 2013年6月10日閲覧。
  17. ^ QNX Achieves New POSIX Certification”. QNX (2008年4月8日). 2016年1月16日閲覧。
  18. ^ Inspur Co., Ltd”. The Open Group. 2017年5月26日閲覧。
  19. ^ POSIX Certification Register”. get.posixcertified.ieee.org. 2018年3月9日閲覧。
  20. ^ Schweikhardt, Jens. “POSIX utilities”. FreeBSD. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  21. ^ 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. 
  22. ^ Solter, Nicholas A.; Jelinek, Jerry; Miner, David (21 March 2011) (英語). OpenSolaris Bible. John Wiley & Sons. ISBN 9781118080313. https://books.google.com/books?id=y8qaxiZNvqAC 
  23. ^ a b POSIX and UNIX Support in Windows”. 2018年8月10日閲覧。
  24. ^ Federal Information Processing Standard (FIPS) 151-2 - ウェイバックマシン(2014年2月20日アーカイブ分)
  25. ^ Windows Server 2012 で削除された機能または推奨されなくなった機能”. 2016年4月20日閲覧。

関連項目[ソースを編集]

  • Common User Access(IBMによるOSとコンピュータプログラムのユーザインタフェースの標準)
  • TRONプロジェクト(リアルタイムOSやアプリケーションのユーザーインタフェースのデザインやハードウェアの標準の策定プロジェクト。もともと坂村健を中心に進められたが2017年にはTRON系の組み込み向けリアルタイムOS「μT-Kernel 2.0」の著作権をIEEEに譲渡し、2018年9月にはμT-Kernelベースの「IEEE 2050-2018」がIEEE標準として正式に成立し、これによりTRON系OSがIEEEによって標準化されるOSの国際標準規格のひとつとなった。)

外部リンク[ソースを編集]