什么是posix?(Portable Operating System Interface 便携式操作系统接口)
POSIX(Portable Operating System Interface)是Unix系統的一個設計標準。當年最早的Unix,源代碼流傳出去了,加上早期的Unix不夠完善,于是之后出現了好些獨立開發的與Unix基本兼容但又不完全兼容的OS,通稱Unix-like OS。局面非常混亂,為了提高兼容性和應用程序的可移植性,標準化Unix-like OS,提出了大家都應該遵守的POSIX標準。后來,Unix這個名字成為了商標,只有花錢進行POSIX標準兼容性測試并通過了的OS,才能稱為Unix,其余的OS,最多稱為Unix-like OS或者*nix OS。
遵循這個標準的好處是軟件可以跨平臺。
- Windows從WinNT開始就有兼容POSIX的考慮。這是因為當年在要求嚴格的領域,Unix地位比Windows高。為了把Unix用戶拉到Windows陣營而搞的。現在情況當然有變化,與當年大不相同了。
- 現在最新的Win10對 Linux/POSIX 支持好,則是因為Linux已經統治了廉價服務器市場。為了提高Windows的競爭力而搞的。
所以windows也支持就很容易理解了,那么多優秀的開源軟件,支持了這些個軟件就可能有windows版本,就可以完善豐富windows下的軟件。
以下對于POSIX的介紹,來自《Linux內核設計與實現(第2版)》的第5章
一般情況下,應用程序通過應用編程接口(API)而不是直接通過系統調用來編程。這點很重要,因為應用程序使用的這種編程接口實際上并不需要和內核提供的系統調用對應。一個API定義了一組應用程序使用的編程接口。它們可以實現成一個系統調用,也可以通過調用多個系統調用來實現,而完全不使用任何系統調用也不存在問題。實際上,API可以在各種不同的操作系統上實現,給應用程序提供完全相同的接口,而它們本身在這些系統上的實現卻可能迥異。
在Unix世界中,最流行的應用編程接口是基于POSIX標準的。從純技術的角度看,POSIX是由IEEE的一組標準組成,其目標是提供一套大體上基于Unix的可移植操作系統標準。Linux是與POSIX兼容的。
POSIX是說明API和系統調用之間關系的一個極好例子。在大多數Unix系統上,根據POSIX而定義的API函數和系統調用之間有著直接關系。實際上,POSIX標準就是仿照早期Unix系統的界面建立的。
另一方面,許多操作系統,像Windows NT,盡管和Unix沒有什么關系,也提供了與POSIX兼容的庫。
Linux的系統調用像大多數Unix系統一樣,作為C庫的一部分提供。C庫實現了Unix系統的主要API,包括標準C庫函數和系統調用。所有的C程序都可以使用C庫,而由于C語言本身的特點,其他語言也可以很方便地把它們封裝起來使用。此外,C庫提供了POSIX的絕大部分API。
參考文章:什么是POSIX?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的什么是posix?(Portable Operating System Interface 便携式操作系统接口)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是Linux系统调用system c
- 下一篇: C语言socket connect()函