POSIX的誕生
POSIX的誕生和UNIX的發展是密不可分的,電氣和電子工程師協會(Institute of Electrical and Electronics Engineers,IEEE)最初開發 POSIX 標準,是為了提高 UNIX 環境下應用程式的可移植性。
UNIX於70年代誕生於貝爾實驗室,並於80年代向美各大高校分發V7版的源碼以做研究。加利福尼亞大學伯克利分校在V7的基礎上開發了BSD Unix。後來很多商業廠家意識到UNIX的價值也紛紛以貝爾實驗室的System V或BSD為基礎來開發自己的Unix,較著名的有Sun OS,AIX,VMS。
然而,POSIX 並不局限於 UNIX。許多其它的作業系統,例如 DEC OpenVMS 支持 POSIX 標準,尤其是 IEEE Std. 1003.1-1990(1995 年修訂)或 POSIX.1,POSIX.1 提供了
原始碼級別的 C 語言套用編程接口(API)給作業系統的服務程式,例如讀寫檔案。POSIX.1 已經被國際標準化組織(International Standards Organization,ISO)所接受,被命名為 ISO/IEC 9945-1:1990 標準。
POSIX 已發展成為一個非常龐大的標準族,某些部分正處在開發過程中。POSIX 與 IEEE 1003 和 2003 家族的標準是可互換的。
Windows NT-based 系統不能直接支持新版POSIX接口,僅支持第一版POSIX v1:ISO/IEC9945-1:1990版標準。由於僅支持第一版POSIX的Windows NT-based系統不能創建符合POSIX接口標準的執行緒和窗體、套接字,所以微軟公司提供POSIX兼容層Microsoft POSIX subsystem軟體包(Windows Services for UNIX)以支持新版POSIX接口,Windows 系統還可以運行其他POSIX兼容層例如
Cygwin。
常見標準
1003.0
管理 POSIX 開放式系統環境(OSE)。IEEE 在 1995 年通過了這項標準。 ISO 的版本是 ISO/IEC 14252:1996。
1003.1
被廣泛接受、用於原始碼級別的可移植性標準。1003.1 提供一個作業系統的 C 語言套用編程接口(API)。IEEE 和 ISO 已經在 1990 年通過了這個標準,IEEE 在 1995 年重新修訂了該標準。
1003.1b
一個用於實時編程的標準(以前的 P1003.4 或 POSIX.4)。這個標準在 1993 年被 IEEE 通過,被合併進 ISO/IEC 9945-1。
1003.1c
一個用於執行緒(在一個程式中當前被執行的
代碼段)的標準。以前是 P1993.4 或 POSIX.4 的一部分,這個標準已經在 1995 年被 IEEE 通過,歸入 ISO/IEC 9945-1:1996。
1003.1g
一個關於協定獨立接口的標準,該接口可以使一個應用程式通過網路與另一個應用程式通訊。 1996 年,IEEE 通過了這個標準。
1003.2
一個套用於 shell 和 工具軟體的標準,它們分別是作業系統所必須提供的命令處理器和工具程式。 1992 年 IEEE 通過了這個標準。ISO 也已經通過了這個標準(ISO/IEC 9945-2:1993)。
1003.2d
改進的 1003.2 標準。
1003.5
一個相當於 1003.1 的 Ada 語言的 API。在 1992 年,IEEE 通過了這個標準。並在 1997 年對其進行了修訂。ISO 也通過了該標準。
1003.5b
一個相當於 1003.1b(實時擴展)的 Ada 語言的 API。IEEE 和 ISO 都已經通過了這個標準。ISO 的標準是 ISO/IEC 14519:1999。
1003.5c
一個相當於 1003.1q(協定獨立接口)的 Ada 語言的 API。在 1998 年, IEEE 通過了這個標準。ISO 也通過了這個標準。
1003.9
一個相當於 1003.1 的 FORTRAN 語言的 API。在 1992 年,IEEE 通過了這個標準,並於 1997 年對其再次確認。ISO 也已經通過了這個標準。
1003.10
一個套用於超級計算套用環境框架(Application Environment Profile,AEP)的標準。在 1995 年,IEEE 通過了這個標準。
1003.13
一個關於套用環境框架的標準,主要針對使用 POSIX 接口的實時應用程式。在 1998 年,IEEE 通過了這個標準。
1003.22
一個針對 POSIX 的關於安全性框架的指南。
1003.23
一個針對用戶組織的指南,主要是為了指導用戶開發和使用支持操作需求的
開放式系統環境(OSE)框架
2003
針對指定和使用是否符合 POSIX 標準的測試方法,有關其定義、一般需求和指導方針的一個標準。在 1997 年,IEEE 通過了這個標準。
2003.1
這個標準規定了針對 1003.1 的 POSIX 測試方法的提供商要提供的一些條件。在 1992 年,IEEE 通過了這個標準。
2003.2
一個定義了被用來檢查與 IEEE 1003.2(shell 和 工具 API)是否符合的測試方法的標準。在 1996 年,IEEE 通過了這個標準。
除了 1003 和 2003 家族以外,還有幾個其它的 IEEE 標準,例如 1224 和 1228,它們也提供開發可移植應用程式的 API。