可移植操作系統接口POSIX

可移植操作系統接口POSIX

1. 名詞解釋

POSIX(Portable Operating System Interface of UNIX),從字面意思上可以得知,POSIX就是定義出來用來在不同操作系統之間進行移植的接口。摘抄一段:
POSIX表示可移植操作系統接口(Portable Operating System Interface of UNIX,縮寫爲 POSIX ),POSIX標準定義了操作系統應該爲應用程序提供的接口標準,是IEEE爲要在各種UNIX操作系統上運行的軟件而定義的一系列API標準的總稱,其正式稱呼爲IEEE 1003,而國際標準名稱爲ISO/IEC 9945。
POSIX標準意在期望獲得源代碼級別的軟件可移植性。換句話說,爲一個POSIX兼容的操作系統編寫的程序,應該可以在任何其它的POSIX操作系統(即使是來自另一個廠商)上編譯執行。
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 的接口編程,很多類似的系統上的編程就會熟悉無比

2. 例證

這裏不是要舉個例子,說個自己工作中親身遇到過的。

  • openrtos:某平臺開發,基於openrtos,上面的應用層開發用的POSIX接口,以前沒有做過openrtos的東西,但是在上面開發的時候發現上面的東西都比較熟悉,一些在linux下開發使用的接口都能成功使用,例如 mq_open() 系列的消息隊列IPC。
  • QNX:由於工作的特殊,會接觸到QNX,不論是平常的應用開發,還是基於其新搞的hypervisor,都有說明只要符合POSIX標準規範的都可以正常運行。

然後,UNIX 家族本身就是一個比較大的家族,支持POSIX 也就不足爲奇了。

3. 衍生的一個關注點

說到POSIX,聯想到 IPC(Inter-Process Communication,進程間通信),會接觸到 SYSTEM V 系的 IPC 接口:msgget()等。
所以問題就是了解 System V 和 POSIX,這裏就不展開,提醒自己注意就好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章