進程間通信(Inter-Process Communication,簡稱IPC)是一種技術或方法,用於在至少兩個進程線程之間傳輸數據或信號。每個進程都有自己獨立的系統資源,彼此隔離。為了實現不同進程之間的資源訪問和協調工作,需要使用進程間通信。

Quick Facts 上級分類, Stack Exchange標籤 ...
行程間通訊
相互作用類型
上級分類技術 編輯
Stack Exchange標籤https://stackoverflow.com/tags/ipc 編輯
Close
Quick Facts 「Inter-Process Communication」的各地常用名稱, 中國大陸 ...
Inter-Process Communication」的各地常用名稱
中國大陸進程間通信
臺灣行程間通訊
Close

通常,使用進程間通信的兩個應用可以分為客戶端服務器主從式架構)。客戶端進程請求數據,服務器進程響應客戶端的數據請求。有些應用既是服務器又是客戶端,這種情況在分布式計算中很常見。這些進程可以運行在同一台計算機上,也可以運行在通過網絡連接的不同計算機上。

IPC對於微內核和nano內核的設計過程非常重要。微內核減少了內核提供的功能數量,然後通過IPC與服務器通信來獲取這些功能。與普通的宏內核相比,IPC的數量大幅增加。

使用IPC的理由

  • 資訊共享:Web服務器,通過網頁瀏覽器使用進程間通信來共享web文件(網頁等)和多媒體
  • 信息處理加速
  • 模組化
  • 私有權分離

主要的IPC方法

More information 方法, 提供方(操作系統或其他環境) ...
方法 提供方(操作系統或其他環境)
檔案 多數作業系統
信號 多數作業系統
Berkeley套接字 多數作業系統
消息隊列 多數作業系統
管道 所有的POSIX 系統,Windows.
命名管道 所有的POSIX系統,Windows.
信號量 所有的POSIX系統,Windows.
共享內存 所有的POSIX系統,Windows.
訊息傳遞 用於MPI規範,Java RMICORBAMSMQ英語Microsoft Message QueuingMailSlot英語MailSlot以及其他.
內存映射文件 所有的POSIX系統,Windows.
Close

參考文獻

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.