POSIX

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

ポータブルオペレーティングシステムインターフェイス(IEEE 1003)
略語POSIX
スターテス公開済み
年が始まった1988 ; 34年前 (1988)
最新バージョンIEEE Std 1003.1-2017
2017 ; 5年前 (2017)
組織Austin GroupIEEE Computer SocietyThe Open GroupISO / IEC JTC 1
関連規格ISO / IEC 9945
ドメインアプリケーションプログラミングインターフェイス
Webサイト.posixcertified .ieee.orgを取得します

Portable Operating System InterfacePOSIX )は、オペレーティングシステム間の互換性を維持するためにIEEE ComputerSocietyによって指定された標準ファミリです[1] POSIXは、 Unixおよびその他のオペレーティングシステムのバリアントとのソフトウェア互換性(移植性)のために、コマンドラインシェルおよびユーティリティインターフェイスとともに、システムレベルとユーザーレベルの両方のアプリケーションプログラミングインターフェイス(API)を定義します。[1] [2] POSIXはIEEEの商標でもあります。[1]POSIXは、アプリケーション開発者とシステム開発者の両方が使用することを目的としています。[3]

名前

当初、「POSIX」という名前は、1988年にリリースされたIEEE Std 1003.1-1988を指していました。POSIX標準のファミリは、正式にはIEEE 1003として指定され、ISO / IEC標準番号はISO / IEC9945です。

この標準は、1985年頃に開始されたプロジェクトから生まれました。RichardStallmanは、以前のIEEE-IXではなくIEEEにPOSIXpoh-sixではなくポジティブの ようにpahz-icksと発音)という名前を提案しました委員会は、それがより発音しやすく、記憶に残るものであると判断し、それを採用しました。[1] [4]

概要

Unixは、「メーカーに中立」であるという理由もあり、標準のシステムインターフェイスの基盤として選択されました。ただし、Unixにはいくつかのメジャーバージョンが存在していたため、最小公分母システムを開発する必要がありました。UnixライクなオペレーティングシステムのPOSIX仕様は、もともとコアプログラミングインターフェイスの単一のドキュメントで構成されていましたが、最終的には19の個別のドキュメント(POSIX.1、POSIX.2など)になりました。[5] 標準化されたユーザーコマンドラインスクリプトインターフェイスは、 UNIX SystemVシェルに基づいていました。[6]多くのユーザーレベルのプログラム、サービス、およびユーティリティ(awkechoed )も、必要なプログラムレベルのサービス(基本的なI / Oファイルターミナルネットワークを含む)とともに標準化されました。POSIXは、最新のオペレーティングシステムでサポートされている標準のスレッドライブラリAPIも定義しています。2008年に、POSIXのほとんどの部分が単一の標準に統合されました(IEEE Std 1003.1-2008、POSIX.1-2008としても知られています)。

2014年現在、POSIXドキュメントは2つの部分に分かれています。

  • POSIX.1、2013 Edition:POSIX基本定義、システムインターフェイス、およびコマンドとユーティリティ(POSIX.1、POSIX.1の拡張機能、リアルタイムサービス、スレッドインターフェイス、リアルタイム拡張機能、セキュリティインターフェイス、ネットワークファイルアクセスを含む)およびネットワークプロセス間通信、ユーザーポータビリティ拡張、修正および拡張、保護および制御ユーティリティ、およびバッチシステムユーティリティ。これは、技術的基準を備えたPOSIX 1003.1-2008です1.)
  • POSIX適合性テスト:POSIXのテストスイートには、標準のVSX-PCTSまたはVSXPOSIX適合性テストスイートが付属しています。[7]

POSIX標準の開発は、Austin Group ( IEEE、The Open Group、およびISO / IEC JTC 1の共同作業グループ)で行われます。

バージョン

1997年以前の部品

1997年以前は、POSIXはいくつかの標準で構成されていました。

1997年以降のバージョン

1997年以降、オースティングループはPOSIXリビジョンを開発しました。仕様は、ISOによって正式に承認されたときにPOSIX標準になる前は、 Single UNIXSpecificationという名前で知られています。

POSIX.1-2001(2つのTCを使用)

POSIX.1-2001(またはIEEE Std 1003.1-2001)は、Single UNIXSpecificationバージョン3に相当します。 [9]

この規格は次のもので構成されています。

  • 基本定義、第6号、
  • システムインターフェイスとヘッダー、第6号、
  • コマンドとユーティリティ、第6号。

IEEE Std 1003.1-2004には、POSIX.1-2001のマイナーアップデートが含まれていました。テクニカルコリジェンダ(TC)と呼ばれる2つのマイナーアップデートまたはエラッタが組み込まれています。[10] その内容はウェブ上で入手可能です。[11]

POSIX.1-2008(2つのTCを使用)

基本仕様、Issue 7(またはIEEE Std 1003.1-2008、2016 Edition)は、現在の2017バージョン(2018年7月22日現在)と同様です。[12] [13]

この規格は次のもので構成されています。

  • 基本定義、第7号、
  • システムインターフェイスとヘッダー、第7号
  • コマンドとユーティリティ、第7号、
  • 理論的根拠のボリューム。

POSIX.1-2017

IEEE Std 1003.1-2017(IEEE Std 1003.1-2008の改訂)-情報技術のIEEE標準-ポータブルオペレーティングシステムインターフェイス(POSIX(R))基本仕様、Issue 7は、Open GroupまたはIEEEのいずれかから入手でき、現在のところ2018年7月22日、現在の標準。技術的にはPOSIX.1-2008と同じですが、テクニカル正誤表1および2が適用されています。無料のオンラインコピーがまだ利用できる場合があります。[12]

論争

512バイトと1024バイトのブロック

POSIXは、ディスク上のブロックの一般的なサイズを反映して、 dfおよびduユーティリティに512バイトのデフォルトのブロックサイズを義務付けています。Richard StallmanGNUチームがGNUオペレーティングシステムにPOSIXを実装していたとき、ほとんどの人が1024バイト(または1 KiB)ブロックで考えるという理由でこれに反対しました。環境変数POSIX_ME_HARDERが導入され、ユーザーが標準に準拠した動作を強制できるようになりました。[14]変数名は後でPOSIXLY_CORRECTに変更されました。[15]この変数は現在、他の多くの動作の癖にも使用されています。

POSIX指向オペレーティングシステム

標準への準拠の程度に応じて、オペレーティングシステムを完全または部分的にPOSIX互換として分類できます。

POSIX認定

以下のオペレーティングシステムの現在のバージョンは、さまざまなPOSIX標準の1つ以上に準拠することが認定されています。これは、自動適合性テスト[16]に合格し、認証の有効期限が切れておらず、オペレーティングシステムが廃止されていないことを意味します。[17] [18]

以前はPOSIX認定済み

以下のオペレーティングシステムの一部のバージョンは、さまざまなPOSIX標準の1つ以上に準拠することが認定されています。これは、自動適合性テストに合格したことを意味します。認証の有効期限が切れ、一部のオペレーティングシステムが廃止されました。[17]

主にPOSIX準拠

以下は、POSIX互換として公式に認定されていませんが、大部分は準拠しています。

POSIX for Microsoft Windows

POSIX for OS / 2

OS / 2用の主にPOSIX準拠の環境

POSIX for DOS

DOS用の部分的にPOSIX準拠の環境には次のものがあります。

  • emx + gcc –主にPOSIXに準拠
  • DJGPP –部分的にPOSIXに準拠
  • EMM386 / MULTIを介したDR-DOSマルチタスクコア–POSIXスレッドフロントエンドAPI拡張が利用可能です

互換性レイヤーを介して準拠

以下は、POSIX互換として公式に認定されていませんが、ある種の互換性機能(通常は翻訳ライブラリ、またはカーネル上のレイヤー)を介してPOSIXサポートを実装することにより、大部分が標準に準拠しています。これらの機能がないと、通常は非準拠になります。

も参照してください

参考文献

  1. ^ a b c d "POSIX.1FAQ"オープングループ。2020年6月13日2022年1月22日取得
  2. ^ 「P1003.1-情報技術の標準-ポータブルオペレーティングシステムインターフェイス(POSIX(TM))基本仕様、第8号」IEEE StandardsAssociation
  3. ^ 「はじめに」pubs.opengroup.org 2021年7月22日取得
  4. ^ 「POSIXという名前の由来」2011 2013年9月28日取得
  5. ^ PASCステータス(POSIXを含む)(レポート)。IEEE ComputerSociety2003年12月4日2015年3月1日取得
  6. ^ 「シェルコマンド言語-TheOpen Group Base Specification Issue 7、2013Edition」2020年4月28日取得
  7. ^ 「POSIX」オープングループ。
  8. ^ "librt(3LIB)"docs.oracle.comマニュアルページセクション3:ライブラリインターフェイスとヘッダー。オラクル株式会社。1998年8月4日2016年2月18日取得librt、libposix4-POSIX.1bリアルタイム拡張ライブラリ[...] librtは、このライブラリの推奨名です。libposix4という名前は、下位互換性のために維持されているため、避ける必要があります。このライブラリの関数は、POSIX.1b RealtimeExtensionで指定されているほとんどのインターフェースを提供します。
  9. ^ 「OpenGroupは、POSIXとSingle UNIX Specificationの共同改訂の完了を発表しました」(プレスリリース)。オープングループ。2002年1月30日2009年7月26日取得
  10. ^ 「IEEEStd1003.1」(2004年版)。Unix.org 2009年7月26日取得
  11. ^ 「IEEEStd1003.1」(2004年版)。オープングループ。
  12. ^ a b 「基本仕様、第7号、2016年版」オープングループ2014年12月18日取得
  13. ^ 「オースティン共通標準改訂グループ」オープングループ2016年3月1日取得
  14. ^ ストールマン、リチャード(1991年8月28日)。「ディスクユニットにおける民主主義の勝利」ニュースグループ:  gnu.announceUsenet:[email protected] –Googleグループ経由。 
  15. ^ 「GNUコーディング標準」GNU。
  16. ^ 「IEEEおよびTheOpenGroupによるPOSIX認定-プログラムガイド」セクション2、認定を取得する方法2022年1月22日取得
  17. ^ a b "IEEEおよびTheOpenGroupによるPOSIX認定-プログラムガイド"セクション4、更新および認定製品の更新2022年1月22日取得
  18. ^ 「会社による認証された製品」オープングループ。nd 2022年1月22日取得
  19. ^ a b "IBM"オープングループ2022年1月23日取得
  20. ^ 「HuaweiTechnologyCo。、Ltd」オープングループ2017年5月26日取得
  21. ^ 「ヒューレットパッカード」オープングループ2014年1月26日取得
  22. ^ a b "POSIX認証登録"get.posixcertified.ieee.org 2022年1月23日取得
  23. ^ 「オープンブランド-認定製品の登録」オープンブランド製品の登録オープングループ2015年5月20日取得
  24. ^ 「AppleInc」オープンブランド製品の登録オープングループ2015年5月20日取得
  25. ^ 「SCOOpenServerリリース5」オープングループ。1995年5月3日2021年12月24日取得
  26. ^ 「UnixWare®7.1.3以降」オープングループ。2003年5月16日2021年12月24日取得
  27. ^ 「InspurCo。、Ltd」オープングループ2017年5月26日取得
  28. ^ 「SiliconGraphics、Inc」オープングループ2014年1月26日取得
  29. ^ 「オープンブランド-認定製品の登録」オープングループ2003年7月23日。2003年8月2日のオリジナルからアーカイブ2022年1月23日取得
  30. ^ 「QNXは新しいPOSIX認証を達成します」QNX。2008年4月8日2016年1月16日取得
  31. ^ 「OracleCorporation」オープングループ。2017年7月12日にオリジナルからアーカイブされました2014年1月26日取得
  32. ^ 「ヒューレットパッカード」オープングループ。2014年7月9日にオリジナルからアーカイブされました2014年1月26日取得
  33. ^ Schweikhardt、イェンス。「POSIXユーティリティ」FreeBSD。
  34. ^ マークハルパー(1994年11月7日)。「HP3000の販売は驚きで市場をキャッチ」Computerworld28、いいえ。4.IDGエンタープライズ。
  35. ^ ソルター、ニコラスA。; ジェリーネク、ジェリー; マイナー、デビッド(2011年3月21日)。OpenSolarisBibleジョン・ワイリー&サンズ。ISBN 9781118080313
  36. ^ 「OpenVOSPOSIX.1:適合ガイド」ステータステクノロジー2021年11月26日取得
  37. ^ 「ULTRIXPOSIX適合文書」(PDF)デジタル。1990年6月2021年12月13日取得
  38. ^ 「WindowsServer2012で削除または非推奨になった機能」
  39. ^ Windows NT Services forUNIXアドオンパックforNT 4; MKSツールキット6.1の98年11月のプレスリリースも参照してください。これも他の場所にアーカイブされています。
  40. ^ 「MSDNライブラリ:非推奨のCRT関数」Microsoft 2015年10月8日取得
  41. ^ 「MSDNライブラリ:ソケットアプリケーションのWinsockへの移植」Microsoft 2015年10月8日取得
  42. ^ 「WinsockプログラマーのFAQ記事:BSDソケットの互換性」ウォーレン・ヤング。2015年8月31日2015年10月8日取得
  43. ^ 「IBMPASEfor iのプログラミング」(PDF)ibm.comIBM。2013 2021年11月25日取得
  44. ^ 「APE— ANSI / POSIX環境」プラン9ベル研究所。
  45. ^ 「POSIX互換性」MS WindowsNTワークステーションリソースキットマイクロソフト。
  46. ^ 「リアルタイム製品技術概要、第5版」(PDF)Digital EquipmentCorporation1992年12月2021年12月8日取得

外部リンク