#Linux#進程間通信# System V標準&POSIX標準

在linux系統中進行進程間通信時,會發現例如共享內存,信號量,消息隊列等進程之間共享方式時,經常會發現有System v以及POXIS兩種類型分別提供了自己的解決方案。

 

POSIX

POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 開發的一簇標準。該標準是基於現有的UNIX 實踐和經驗,描述了操作系統的調用服務接口,用於保證編制的應用程序可以在源代碼一級上在多種操作系統上移植運行。它是在1980 年早期一個UNIX 用戶組(usr/group)的早期工作的基礎上取得的。該UNIX 用戶組原來試圖將AT&T 的系統V 和Berkeley CSRG的BSD 系統的調用接口之間的區別重新調和集成,從而於1984 年產生了/usr/group 標準。1985 年,IEEE操作系統技術委員會標準小組委員會(TCOS-SS)開始在ANSI 的支持下責成IEEE 標準委員會制定有關程序源代碼可移植性操作系統服務接口正式標準。到了1986 年4 月,IEEE 就制定出了試用標準。第一個正式標準是在1988 年9 月份批准的(IEEE 1003.1-1988),也既以後經常提到的POSIX.1 標準。

 

System V

System V, 曾經也被稱爲 AT&T System V,是Unix操作系統衆多版本中的一支。它初由 AT&T 開發,在1983年第一次發佈。一共發行了4個 System V 的主要版本:版本1、2、3 和 4。System V Release 4,或者稱爲SVR4,是成功的版本,成爲一些UNIX共同特性的源頭,例如 ”SysV 初始化腳本“ (/etc/init.d),用來控制系統啓動和關閉,System V Interface Definition (SVID) 是一個System V 如何工作的標準定義。

AT&T 出售運行System V的專有硬件,但許多(或許是大多數)客戶在其上運行一個轉售的版本,這個版本基於 AT&T 的實現說明。流行的SysV 衍生版本包括 Dell SVR4 和 Bull SVR4。當今廣泛使用的 System V 版本是 SCO OpenServer,基於 System V Release 3,以及SUN Solaris 和 SCO UnixWare,都基於 System V Release 4。

System V 是 AT&T 的第一個商業UNIX版本(UNIX System III)的加強。傳統上,System V 被看作是兩種UNIX"風味"之一(另一個是 BSD)。然而,隨着一些並不基於這兩者代碼的UNIX實現的出現,例如 Linux 和 QNX, 這一歸納不再準確,但不論如何,像POSIX這樣的標準化努力一直在試圖減少各種實現之間的不同。

二者間的差異,我們簡單通過以下維度作簡單的對比

歷史

  • System V: UNIX兩大貢獻者貝爾實驗室和BSD,在進程之間通信側重不同,前者基於內核對進程之間的通信手段進行了改進,形成了“System V IPC”,而後者則是基於網絡形成了套接字Socket。
  • POSIX: IEEE制定的標準,目的是爲運行在不同操作系統上的軟件提供統一的接口,實現者則是不同的操作系統內核開發人員。

效率性能

  • System V: PSYSTEM V在同步互斥手段方面的無競爭條件下是無論何時都會陷入內核,性能稍低。
  • POSIX:POSIX在同步互斥手段方面的無競爭條件下是不會陷入內核的,性能稍差較高。

冗餘可靠性

  • System V: System V提供了SEM_UNDO選項可以解決成功獲取信號量後,進程如果意外終止,將無法釋放信號量個問題。可靠性高。
  • POSIX:POSIX的sem_wait函數成功獲取信號量後,進程如果意外終止,將無法釋放信號量。可靠性差。

操作系統

  • System V: System V操作系統實現相當廣泛。
  • POSIX:可能有小部分操作系統沒有實現POSIX標準。

移植性

  • System V: 不同操作系統System V存在一些差異。
  • POSIX:可移植性POSIX必然是一個趨勢。

進程間&線程間通信同步

  • System V:System V更多用於進程間通信,線程間使用較少。線程相對於進程是輕量級的,例如調度的策略開銷,如果使用System V這種每次調用都會陷入內核的接口,會喪失線程的輕量優勢。所以,多線程之間的通信不使用System V的接口函數
  • POSIX:POSIX進程間&線程間通信同步更優。

 

POSIX標準有逐漸取代System V標準趨勢

 

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