行程间通讯

本页使用了标题或全文手工转换,现处于香港繁体模式
求聞百科,共筆求聞
Inter-Process Communication」的各地常用別名
中國內地進程間通信
港台行程間通訊

行程間通訊IPCInter-Process Communication),指至少兩個行程線程間傳送數據或訊號的一些技術或方法。

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

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

使用IPC的理由

  • 資訊共用:Web伺服器,通過網頁瀏覽器使用行程間通訊來共用web檔案(網頁等)和多媒體
  • 加速:維基百科使用通過行程間通訊進行交流的多伺服器來滿足用戶的請求
  • 模組化
  • 私有權分離

主要的IPC方法

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

參考文獻