POSIX - 電腦系統(tǒng)運(yùn)行所需軟件
可移植操作系統(tǒng)接口(英語:Portable?Operating?System?Interface,縮寫為POSIX)是IEEE為要在各種UNIX操作系統(tǒng)上運(yùn)行軟件,而定義API的一系列互相關(guān)聯(lián)的標(biāo)準(zhǔn)的總稱,其正式稱呼為IEEE?Std?1003,而國(guó)際標(biāo)準(zhǔn)名稱為ISO/IEC?9945。此標(biāo)準(zhǔn)源于一個(gè)大約開始于1985年的項(xiàng)目。POSIX這個(gè)名稱是由理查德·斯托曼(RMS)應(yīng)IEEE的要求而提議的一個(gè)易于記憶的名稱。它基本上是Portable?Operating?System?Interface(可移植操作系統(tǒng)接口)的縮寫,而X則表明其對(duì)Unix?API的傳承。
產(chǎn)生
POSIX的誕生和Unix的發(fā)展是密不可分的,電氣和電子工程師協(xié)會(huì)(Institute?of?Electrical?and?Electronics?Engineers,IEEE)最初開發(fā)POSIX標(biāo)準(zhǔn),是為了提高UNIX環(huán)境下應(yīng)用程序的可移植性。Unix于70年代誕生于貝爾實(shí)驗(yàn)室,并于80年代向美各大高校分發(fā)V7版的源碼以做研究。加利福尼亞大學(xué)伯克利分校在V7的基礎(chǔ)上開發(fā)了BSD?Unix。后來很多商業(yè)廠家意識(shí)到Unix的價(jià)值也紛紛以貝爾實(shí)驗(yàn)室的System?V或BSD為基礎(chǔ)來開發(fā)自己的Unix,較著名的有Sun?OS,AIX,VMS。
Windows?NT-based系統(tǒng)不能直接支持新版POSIX接口,僅支持第一版POSIX?v1:ISO/IEC9945-1:1990版標(biāo)準(zhǔn)。由于僅支持第一版POSIX的Windows?NT-based系統(tǒng)不能創(chuàng)建符合POSIX接口標(biāo)準(zhǔn)的線程和窗體、套接字,所以微軟公司提供POSIX兼容層Microsoft?POSIX?subsystem軟件包(Windows?Services?for?UNIX)以支持新版POSIX接口,Windows系統(tǒng)還可以運(yùn)行其他POSIX兼容層例如Cygwin.
常見標(biāo)準(zhǔn)
1003.0
管理POSIX開放式系統(tǒng)環(huán)境(OSE)。IEEE在1995年通過了這項(xiàng)標(biāo)準(zhǔn)。ISO的版本是ISO/IEC 14252:1996。
1003.1
被廣泛接受、用于源代碼級(jí)別的可移植性標(biāo)準(zhǔn)。1003.1提供一個(gè)操作系統(tǒng)的C語言應(yīng)用編程接口(API)。IEEE和ISO已經(jīng)在1990年通過了這個(gè)標(biāo)準(zhǔn),IEEE在1995年重新修訂了該標(biāo)準(zhǔn)。
1003.1b
一個(gè)用于實(shí)時(shí)編程的標(biāo)準(zhǔn)(以前的P1003.4或POSIX.4)。這個(gè)標(biāo)準(zhǔn)在1993年被IEEE通過,被合并進(jìn)ISO/IEC 9945-1。
1003.1c
一個(gè)用于線程(在一個(gè)程序中當(dāng)前被執(zhí)行的代碼段)的標(biāo)準(zhǔn)。以前是P1993.4或POSIX.4的一部分,這個(gè)標(biāo)準(zhǔn)已經(jīng)在1995年被IEEE通過,歸入ISO/IEC 9945-1:1996。
1003.1g
一個(gè)關(guān)于協(xié)議獨(dú)立接口的標(biāo)準(zhǔn),該接口可以使一個(gè)應(yīng)用程序通過網(wǎng)絡(luò)與另一個(gè)應(yīng)用程序通訊。1996年IEEE通過了這個(gè)標(biāo)準(zhǔn)。
1003.2
一個(gè)應(yīng)用于shell和工具軟件的標(biāo)準(zhǔn),它們分別是操作系統(tǒng)所必須提供的命令處理器和工具程序。1992年IEEE通過了這個(gè)標(biāo)準(zhǔn)。ISO也已經(jīng)通過了這個(gè)標(biāo)準(zhǔn)(ISO/IEC 9945-2:1993)。
1003.2d
改進(jìn)的1003.2標(biāo)準(zhǔn)。
1003.5
一個(gè)相當(dāng)于1003.1的Ada語言的API。在1992年,IEEE通過了這個(gè)標(biāo)準(zhǔn)。并在1997年對(duì)其進(jìn)行了修訂。ISO也通過了該標(biāo)準(zhǔn)。
1003.5b
一個(gè)相當(dāng)于1003.1b(實(shí)時(shí)擴(kuò)展)的Ada語言的API。IEEE和ISO都已經(jīng)通過了這個(gè)標(biāo)準(zhǔn)。ISO的標(biāo)準(zhǔn)是ISO/IEC14519:1999。
1003.5c
一個(gè)相當(dāng)于1003.1q(協(xié)議獨(dú)立接口)的Ada語言的API。在1998年,IEEE通過了這個(gè)標(biāo)準(zhǔn)。ISO也通過了這個(gè)標(biāo)準(zhǔn)。
1003.9
一個(gè)相當(dāng)于1003.1的FORTRAN語言的API。在1992年,IEEE通過了這個(gè)標(biāo)準(zhǔn),并于1997年對(duì)其再次確認(rèn)。ISO也已經(jīng)通過了這個(gè)標(biāo)準(zhǔn)。
1003.10
一個(gè)應(yīng)用于超級(jí)計(jì)算應(yīng)用環(huán)境框架(Application Environment Profile,aep)的標(biāo)準(zhǔn)。在1995年,IEEE通過了這個(gè)標(biāo)準(zhǔn)。
1003.13
一個(gè)關(guān)于應(yīng)用環(huán)境框架的標(biāo)準(zhǔn),主要針對(duì)使用POSIX接口的實(shí)時(shí)應(yīng)用程序。在1998年,IEEE通過了這個(gè)標(biāo)準(zhǔn)。
1003.22
一個(gè)針對(duì)POSIX的關(guān)于安全性框架的指南。
1003.23
一個(gè)針對(duì)用戶組織的指南,主要是為了指導(dǎo)用戶開發(fā)和使用支持操作需求的開放式系統(tǒng)環(huán)境(OSE)框架
2003
針對(duì)指定和使用是否符合POSIX標(biāo)準(zhǔn)的測(cè)試方法,有關(guān)其定義、一般需求和指導(dǎo)方針的一個(gè)標(biāo)準(zhǔn)。在1997年,IEEE通過了這個(gè)標(biāo)準(zhǔn)。
2003.1
這個(gè)標(biāo)準(zhǔn)規(guī)定了針對(duì)1003.1的POSIX測(cè)試方法的提供商要提供的一些條件。在1992年,IEEE通過了這個(gè)標(biāo)準(zhǔn)
2003.2
一個(gè)定義了被用來檢查與IEEE1003.2(shell和工具API)是否符合的測(cè)試方法的標(biāo)準(zhǔn)。在1996年,IEEE通過了這個(gè)標(biāo)準(zhǔn)。
除了1003和2003家族以外,還有幾個(gè)其它的IEEE標(biāo)準(zhǔn),例如1224和1228,它們也提供開發(fā)可移植應(yīng)用程序的API。
