程序間通訊的幾種方式

2022-07-07 19:12:16 字數 672 閱讀 5957

程序通訊是指程序之間的資訊交換

共享儲存器系統

基於共享資料結構的通訊方式

(僅適用於傳遞相對少量的資料,通訊效率低,屬於低階通訊)

基於共享儲存區的通訊方式

管道通訊系統

管道是指用於連線乙個讀程序和乙個寫程序以實現它們之間通訊的乙個共享檔案(pipe檔案)

管道機制需要提供一下幾點的協調能力

互斥,即當乙個程序正在對pipe執行讀/寫操作時,其它程序必須等待

同步,當乙個程序將一定數量的資料寫入,然後就去睡眠等待,直到讀程序將資料取走,再去喚醒。讀程序與之類似

確定對方是否存在

訊息傳遞系統

直接通訊方式

傳送程序利用os所提供的傳送原語直接把訊息發給目標程序

間接通訊方式

傳送和接收程序都通過共享實體(郵箱)的方式進行訊息的傳送和接收

客戶機伺服器系統

套接字 -- 通訊標識型的資料結構是程序通訊和網路通訊的基本構件

基於檔案型的 (當通訊程序都在同一臺伺服器中)其原理類似於管道

基於網路型的(非對稱方式通訊,傳送者需要提供接收者命名。通訊雙方的程序執行在不同主機環境下被分配了一對套接字,乙個屬於傳送程序,乙個屬於接收程序)

遠端過程呼叫和遠端方法呼叫

詳見:遠端過程呼叫協議/6893245?fr=aladdin

幾種程序間的通訊方式

管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,可以用來控制多個程序對...

程序間的幾種通訊方式

管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,可以用來控制多個程序對...

幾種程序間的通訊方式

管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,可以用來控制多個程序對...