linux處理序間通訊綜述

來源:互聯網
上載者:User

 

linux處理序間通訊綜述

linux處理序間通訊主要分為以下4個領域
(1)訊息傳遞(管道,FIFO,訊息佇列)
(2)同步(互斥鎖,條件變數,讀寫鎖,訊號量)
(3)共用記憶體區(匿名共用記憶體區,有名共用記憶體區)
(4)程序呼叫(Solaris門,Sun RPC)

linux進程間的資訊共用可以分為
(1) 基於檔案系統的共用
(2) 基於核心的共用
(3) 基於共用記憶體區的共用

IPC對象的持久性
(1)隨進程間持續的IPC對象一直存在到開啟著該對象的最後一個進程關閉該對象的最後一個進程關閉該對象為止。
(2)隨核心持續的IPC對象一直存在到核心重新自舉或顯式刪除該對象為止。
(3)隨檔案系統持續的IPC對象一直存在到顯示刪除該對象為止。即使系統自舉了,該對象還是存在的。

IPC類型                                       持久性
管道                                           隨進程
FIFO                                          隨進程

Posix互斥鎖                                 隨進程
Posix條件變數                              隨進程
Posix讀寫鎖                                 隨進程
fcntl記錄上鎖                                隨進程

Posix訊息佇列                              隨核心
Posix有名訊號量                           隨核心
Posix基於記憶體的訊號量                   隨進程
Posix共用記憶體區                           隨核心

System V訊息佇列                        隨核心
System V訊號量                           隨核心
System V共用記憶體區                     隨核心

TCP通訊端                                  隨進程
UDP通訊端                                  隨進程
Unix域通訊端                               隨進程

 

 

 

名字空間:
當兩個或多個無親緣關係的進程使用某種類型的IPC對象來彼此交換資訊時,該IPC對象必須有一個某種形式的名字或者標識符,這樣其中一個進程(往往是伺服器)可以建立該IPC對象,其餘進程則可以指定同一個IPC對象。

IPC類型                        用於開啟或建立IPC的名字空間                IPC開啟後的標識
管道                                     沒有名字                                      描述符
FIFO                                    路徑名                                         描述符

Posix互斥鎖                          沒有名字                                      pthread_mutex_t指標
Posix條件變數                       沒有名字                                      pthread_cond_t指標
Posix讀寫鎖                          沒有名字                                      pthread_rwlock_t指標
fcntl記錄上鎖                        路徑名                                         描述符

Posix訊息佇列                       Posix IPC名字                              mqd_t值
Posix有名訊號量                    Posix IPC名字                              sem_t指標
Posix基於記憶體的訊號量            沒有名字                                     sem_t指標
Posix共用記憶體區                    Posix IPC名字                              描述符

System V訊息佇列                key_t鍵                                       System V IPC標識符
System V 訊號量                  key_t鍵                                       System V IPC標識符
System V共用記憶體區              key_t鍵                                      System V IPC 標識符

門                                      路徑名                                         描述符
sun RPC                             程式/版本                                     RPC控制代碼

TCP通訊端                            IP地址與TCP 通訊埠                         描述符
UDP通訊端                           IP地址與UDP連接埠                          描述符
Unix域通訊端                        路徑名                                        描述符

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.