POSIX 标准
POSIX(Portable Operating System Interface for Computing Systems,可移植操作系統(tǒng)接口)是由 IEEE 和 ISO/IEC 開(kāi)發(fā)的一簇標(biāo)準(zhǔn),該標(biāo)準(zhǔn)是基于現(xiàn)有的 UNIX 實(shí)踐和經(jīng)驗(yàn),描述了操作系統(tǒng)的調(diào)用服務(wù)接口。用于保證編制的應(yīng)用程序可以在源碼一級(jí)上在多種操作系統(tǒng)上移植和運(yùn)行。
在 20 世紀(jì) 70~80 年代,AT&T 雖對(duì) UNIX 的實(shí)際源代碼進(jìn)行了版權(quán)保護(hù),但卻鼓勵(lì)在系統(tǒng)的接口和語(yǔ)言基礎(chǔ)上進(jìn)行標(biāo)準(zhǔn)化工作。例如,AT&T 發(fā)布了 SVID(System V Interface Definition,系統(tǒng) V 接口定義),這成為了 POSIX 及其后續(xù)工作的基礎(chǔ)。后來(lái),UNIX 可以說(shuō)相當(dāng)優(yōu)雅地適應(yīng)了網(wǎng)絡(luò)環(huán)境,雖不那么輕巧卻也充分地適應(yīng)了圖形環(huán)境。再往后,開(kāi)源運(yùn)動(dòng)的技術(shù)基礎(chǔ)中集成了 UNIX 的基本內(nèi)核接口和許多它獨(dú)特的用戶(hù)級(jí)工具。
POSIX 標(biāo)準(zhǔn)定義了操作系統(tǒng)應(yīng)該為應(yīng)用程序提供的接口標(biāo)準(zhǔn),是 IEEE 為要在各種 UNIX 操作系統(tǒng)上運(yùn)行的軟件而定義的一系列 API 標(biāo)準(zhǔn)的總稱(chēng),其正式稱(chēng)呼為 IEEE 1003,而國(guó)際標(biāo)準(zhǔn)名稱(chēng)為 ISO/IEC 9945。POSIX 標(biāo)準(zhǔn)意在期望獲得源代碼級(jí)別的軟件可移植性。換句話(huà)說(shuō),為一個(gè) POSIX 兼容的操作系統(tǒng)編寫(xiě)的程序,應(yīng)該可以在任何其它的 POSIX 操作系統(tǒng)(即使是來(lái)自另一個(gè)廠商)上編譯執(zhí)行。
POSIX 并不局限于 UNIX。許多其它的操作系統(tǒng),例如 DEC OpenVMS 支持 POSIX 標(biāo)準(zhǔn),尤其是 IEEE Std. 1003.1-1990(1995 年修訂)或 POSIX.1,POSIX.1 提供了源代碼級(jí)別的 C 語(yǔ)言應(yīng)用編程接口(API)給操作系統(tǒng)的服務(wù)程序,例如讀寫(xiě)文件。POSIX.1 已經(jīng)被國(guó)際標(biāo)準(zhǔn)化組織(International Standards Organization,ISO)所接受,被命名為 ISO/IEC 9945-1:1990 標(biāo)準(zhǔn)。
POSIX.1 僅規(guī)定了系統(tǒng)服務(wù)應(yīng)用程序編程接口(API),僅概況了基本的系統(tǒng)服務(wù)標(biāo)準(zhǔn)。因此工作組期望對(duì)系統(tǒng)的其他功能也制定出標(biāo)準(zhǔn)。這樣,IEEE POSIX 的工作就開(kāi)始展開(kāi)了。剛開(kāi)始有十個(gè)批準(zhǔn)的計(jì)劃在進(jìn)行,有近 300 多人參加每季度為期一周的會(huì)議。著手的工作由命令與工作標(biāo)準(zhǔn)(POSIX.2)、測(cè)試方法標(biāo)準(zhǔn)(POSIX.3)、實(shí)時(shí) API(POSIX.4)等。到了 1990 年上半年已經(jīng)有 25 個(gè)計(jì)劃在進(jìn)行,并且有 16 個(gè)工作組參與了進(jìn)來(lái)。與此同時(shí),還有一些組織也在指定類(lèi)似的標(biāo)準(zhǔn),如 X/Open、AT&T、OSF 等。
在上世紀(jì) 90 年代初,POSIX 標(biāo)準(zhǔn)的制定正處于最后投票敲定階段。也就是 1991~1993 年間,Linux 剛剛起步的時(shí)候,這個(gè) UNIX 標(biāo)準(zhǔn)為 Linux 提供了極為重要的信息,使得 Linux 能夠在標(biāo)準(zhǔn)的指導(dǎo)下進(jìn)行開(kāi)發(fā),并能夠與絕大多數(shù) UNIX 操作系統(tǒng)兼容。在最初的 Linux 內(nèi)核源碼(0.01版、0.11版)中就已經(jīng)為 Linux 系統(tǒng)與 POSIX 標(biāo)準(zhǔn)的兼容做好了準(zhǔn)備工作。在 Linux 0.01 版內(nèi)核 /include/unistd.h 文件中就已經(jīng)定義了幾個(gè)有關(guān) POSIX 標(biāo)準(zhǔn)要求的符號(hào)常數(shù),而且 Linus 在注釋中已寫(xiě)道:“OK,這也許是個(gè)玩笑,但我正在著手研究它呢”。
POSIX 標(biāo)準(zhǔn)文檔下載:http://download.csdn.net/detail/luckydarcy/9773503
總結(jié)
- 上一篇: 《基于数字信号处理的相干光通信技术》读书
- 下一篇: Serverless Knative S