管道
用於具有親緣關係的程序間通訊,允許乙個程序和另乙個與它有共同祖先的程序之間進行通訊。半雙工,只能單向傳輸。
優點是所有unix實現都支援,並且在最後乙個訪問管道的程序終止後管道就被完全刪除了。缺點是只允許單向傳輸或父子程序之間。
命名管道
允許無親緣關係的程序間通訊。
訊號用於通知接收程序有某種事件發生,除了用於程序間通訊外,程序還可以發訊號給程序本身
訊息佇列
是訊息的鏈結表,有足夠許可權的程序可以向佇列中新增資訊,被賦予讀許可權的程序可以讀走佇列中的訊息。訊息佇列克服了訊號承載資訊量少,管道只能承受無格式位元組流以及緩衝區大小受限制等缺陷。
系統ipc優點,功能強大,可在毫無相關係的程序間通訊。缺點是關鍵字key_t使用了核心標識,占用了核心資源。而且只能顯示的刪除,而且不能使用socket的一些機制。
共享記憶體
使得多個程序可以訪問同一塊記憶體空間,是最快的可用ipc形式。是針對其他通訊機制執行效率低而設計的。往往與其他通訊機制,如訊號量結合使用,來達到程序間的同步及互斥。
訊號量作為程序間以及同一程序不同執行緒之間的同步手段。
記憶體對映
允許任何多個程序通訊,每個使用該機制的程序通過把乙個共享的檔案對映到自己的程序位址空間來實現。
套接字可用於不同機器之間的程序間通訊。
UNIX網路程式設計卷2程序間通訊讀書筆記彙總
unix 網路程式設計卷 2程序間通訊讀書筆記 一 概述 網路程式設計卷 2程序間通訊讀書筆記 二 管道 1 網路程式設計卷 2程序間通訊讀書筆記 二 管道 2 網路程式設計卷 2程序間通訊讀書筆記 三 有名管道 1 網路程式設計卷 2程序間通訊讀書筆記 三 有名管道 2 網路程式設計卷 2程序間通...
UNIX網路程式設計卷2程序間通訊讀書筆記 有名管道
筆記從chinaunix copy過來的,然後自己看書的時候把認為需要注意的地方新增上,方便複習 二 有名管道 管道應用的乙個重大限制是它沒有名字,因此,只能用於具有親緣關係的程序間通訊,在有名管道 named pipe 或fifo 提出後,該限制得到了克服。fifo 不同於管道之處在於它提供乙個路...
UNIX 程序間通訊
linux繼承了at t和bsd以及早期的程序間的通訊 一般常用的通訊方式有 1 傳統的通訊方式 無名管道,有名管道和訊號。2 對於sys 5 的程序間通訊採用了共享記憶體,訊息佇列和訊號燈的形式。3 bsd,對於一般網路間的通訊採用來套接字的方式實現。1 無名管道的機制以及建立 對於無名管道只是用...