行程間通訊
行程間通訊(英語:Inter-Process Communication,簡稱IPC),指至少兩個行程或執行緒間傳送資料或訊號的一些技術或方法。
「Inter-Process Communication」的各地常用名稱 | |
---|---|
中國大陸 | 進程間通信 |
臺灣 | 行程間通訊 |
行程是電腦系統分配資源的最小單位(嚴格說來是執行緒)。每個行程都有自己的一部分獨立的系統資源,彼此是隔離的。為了能使不同的行程互相訪問資源並進行協調工作,才有了行程間通訊。通常,使用行程間通訊的兩個應用可以被分為客戶端和伺服器(見主從式架構),客戶端行程請求資料,伺服器端回應客戶端的資料請求。有一些應用本身既是伺服器又是客戶端,這在分散式計算中,時常可以見到。這些行程可以執行在同一電腦上或網路連接的不同電腦上。
IPC對微核心和nano核心的設計過程非常重要。 微核心減少了核心提供的功能數量。 然後通過IPC與伺服器通訊獲得這些功能,與普通的單核心相比,IPC的數量大幅增加。
使用IPC的理由 編輯
- 資訊共享:Web伺服器,通過網頁瀏覽器使用行程間通訊來共享web檔案(網頁等)和多媒體
- 資訊處理加速
- 模組化
- 私有權分離
主要的IPC方法 編輯
方法 | 提供方(作業系統或其他環境) |
---|---|
檔案 | 多數作業系統 |
訊號 | 多數作業系統 |
Berkeley通訊端 | 多數作業系統 |
訊息佇列 | 多數作業系統 |
管道 | 所有的POSIX 系統,Windows. |
命名管道 | 所有的POSIX系統,Windows. |
號誌 | 所有的POSIX系統,Windows. |
共享記憶體 | 所有的POSIX系統,Windows. |
訊息傳遞 | 用於MPI規範,Java RMI,CORBA,MSMQ,MailSlot以及其他. |
記憶體對映檔案 | 所有的POSIX系統,Windows. |