程序通訊的幾種方式及其各自優缺點

2021-08-25 14:13:11 字數 909 閱讀 8205

socket

a、使用socket通訊的方式實現起來簡單,可以使用網際網路域和unix域來實現,使用網際網路域可以實現不同主機之間的進出通訊。

b、該方式自身攜帶同步機制,不需要額外的方式來輔助實現同步。

c、隨程序持續。

共享記憶體

a、最快的一種通訊方式,多個程序可同時訪問同一片記憶體空間,相對其他方式來說具有更少的資料拷貝,效率較高。

b、需要結合訊號燈或其他方式來實現多個程序間同步,自身不具備同步機制。

c、隨核心持續,相比於隨程序持續生命力更強。

管道

a、較早的一種通訊方式,缺點明顯:只能用於有親緣關係程序之間的通訊;只支援單向資料流,如果要雙向通訊需要多建立乙個管道來實現。

b、自身具備同步機制。

c、隨程序持續。

fifo

a、是有名管道,所以支援沒有親緣關係的程序通訊。和共享記憶體類似,提供乙個路徑名字將各個無親緣關係的程序關聯起來。但是也需要建立兩個描述符來實現雙向通訊。

b、自身具備同步機制。

c、隨程序持續。

訊號

a、這種通訊可攜帶的資訊極少。不適合需要經常攜帶資料的通訊。

b、不具備同步機制,類似於中斷,什麼時候產生訊號,程序是不知道的。

訊息佇列

a、與共享記憶體和fifo類似,使用乙個路徑名來實現各個無親緣關係程序之間的通訊。訊息佇列相比於其他方式有很多優點:它提供有格式的位元組流,減少了開發人員的工作量;訊息具有型別(system v)或優先順序(posix)。其他方式都沒有這些優點。

b、具備同步機制。

c、隨核心持續。

windows 記憶體管理的幾種方式及其優缺點

windows 記憶體管理方式主要分為 頁式管理,段式管理,段頁式管理。頁式管理 基本原理是將各程序的虛擬空間劃分為若干個長度相等的頁 頁式管理把記憶體空間按照頁的大小劃分成片或者頁面,然後把頁式虛擬位址與記憶體位址建立一一對應的頁表 並用相應的硬體位址變換機構來解決離散位址變換問題。頁式管理採用請...

Windows 記憶體管理的幾種方式及其優缺點

windows 記憶體管理方式主要分為 頁式管理,段式管理,段頁式管理。頁式管理的基本原理是將各程序的虛擬空間劃分為若干個長度相等的頁 頁式管理把記憶體空間按照頁的大小劃分成片或者頁面,然後把頁式虛擬位址與記憶體位址建立一一對應的頁表 並用相應的硬體位址變換機構來解決離散位址變換問題。頁式管理採用請...

linux 程序間通訊的3種高階方式及優缺點

由於不同的程序執行在各自不同的記憶體空間中 一方對於變數的修改另一方是無法感知的 因此 程序之間的資訊傳遞不可能通過變數或其它資料結構直接進行,只能通程序間通訊來完成。根據程序通訊時資訊量大小的不同,可以將程序通訊劃分為兩大型別 控制資訊的通訊和大批資料資訊的通訊 前者稱為低階通訊,後者稱為高階通訊...