行程間通訊

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Inter-Process Communication」的各地常用名稱
中國大陸進程間通信
臺灣行程間通訊

行程間通訊(英語:Inter-Process Communication,簡稱IPC),指至少兩個行程線程間傳送數據或訊號的一些技術或方法。

行程是電腦系統分配資源的最小單位(嚴格說來是線程)。每個行程都有自己的一部分獨立的系統資源,彼此是隔離的。為了能使不同的行程互相訪問資源並進行協調工作,才有了行程間通訊。通常,使用行程間通訊的兩個應用可以被分為客戶端和伺服器(見主從式架構),客戶端行程請求數據,伺服器端響應客戶端的數據請求。有一些應用本身既是伺服器又是客戶端,這在分散式計算中,時常可以見到。這些行程可以執行在同一電腦上或網絡連接的不同電腦上。

IPC對微內核和nano內核的設計過程非常重要。 微內核減少了內核提供的功能數量。 然後通過IPC與伺服器通訊獲得這些功能,與普通的整塊性核心相比,IPC的數量大幅增加。

使用IPC的理由[編輯]

  • 資訊共用:Web伺服器,通過網頁瀏覽器使用行程間通訊來共用web檔案(網頁等)和多媒體
  • 資訊處理加速
  • 模組化
  • 私有權分離

主要的IPC方法[編輯]

方法 提供方(作業系統或其他環境)
檔案 多數作業系統
訊號 多數作業系統
Berkeley通訊端 多數作業系統
訊息佇列 多數作業系統
管道 所有的POSIX 系統,Windows.
命名管道 所有的POSIX系統,Windows.
訊號量 所有的POSIX系統,Windows.
共用記憶體 所有的POSIX系統,Windows.
訊息傳遞 用於MPI規範,Java RMICORBAMSMQ英語Microsoft Message QueuingMailSlot英語MailSlot以及其他.
記憶體對映檔案 所有的POSIX系統,Windows.

參考文獻[編輯]