Linux程式間的通訊方式有哪些?Linux入門教程
所謂程式間通訊就是在不同程式之間傳播或交換資訊,它是一組程式設計介面,讓程式設計師能夠協調不同的程式,使之能在一個作業系統裡同時執行,並相互傳遞、交換資訊;還可以讓一個程式能夠在同一時間裡處理許多使用者的需求。那麼Linux程式間的通訊方式有幾種?如果你還不清楚,請看下文:
第一種:管道通訊
兩個程式利用管道進行通訊時,傳送資訊的程式稱為寫程式;接收資訊的程式稱為讀程式。管道通訊方式的中間介質就是檔案,通常稱這種檔案為管道檔案,它就像管道一樣將一個寫程式和一個讀程式連線在一起,實現兩個程式之間的通訊。寫程式透過寫入端往管道檔案中寫入資訊;讀程式透過讀出端從管道檔案中讀取資訊。兩個程式協調不斷地進行寫和讀,便會構成雙方透過管道傳遞資訊的流水線。
第二種:訊息緩衝通訊
多個獨立的程式之間可以透過訊息緩衝機制來相互通訊。這種通訊的實現是以訊息緩衝區為中間介質,通訊雙方的傳送和接收操作均以訊息為單位。在儲存器中,訊息緩衝區被組織成佇列,通常稱之為訊息佇列。訊息佇列一旦建立後即可由多程式共享,傳送訊息的程式可以在任意時刻傳送任意個訊息到指定的訊息佇列上,並檢查是否有接收程式在等待它所傳送的訊息。若有則喚醒它,而接收訊息的程式可以在需要訊息的時候到指定的訊息佇列上獲取訊息,如果訊息還沒有到來,則轉入睡眠等待狀態。
第三種:共享記憶體通訊
針對訊息緩衝需要佔用CPU進行訊息複製的缺點,OS提供了一種程式間直接進行資料交換的通訊方式。共享記憶體,顧名思義這種通訊方式允許多個程式在外部通訊協議或同步,互斥機制的支援下使用同一個記憶體段進行通訊,它是一種最有效的資料通訊方式,其特點是沒有中間環節,直接將共享的記憶體頁面透過附接對映到相互通訊的程式各自的虛擬地址空間中,從而使多個程式可以直接訪問同一個實體記憶體頁面。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2841320/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在Linux中,程序間通訊方式有哪些?Linux
- 程式間通訊方式有哪些?
- 什麼是程式間通訊?Linux程式間通訊有幾種方式?Linux
- 程式間通訊是什麼?Linux程式間通訊有幾種方式?Linux
- 程式間通訊——LINUXLinux
- Linux程式間通訊Linux
- Linux 的程式間通訊:管道Linux
- Linux程式間通訊-eventfdLinux
- Linux程式間通訊有幾種方式?這8個你都知道嗎?Linux
- 【Linux入門】Linux運維必學的命令有哪些?Linux運維
- Linux系統程式設計之程式間通訊方式:管道(二)Linux程式設計
- Linux系統程式設計之程式間通訊方式:管道(一)Linux程式設計
- linux 程式間通訊之管道Linux
- linux 程式間通訊之FIFOLinux
- Linux程式之間如何通訊?Linux
- Linux系統程式設計之程式間通訊方式:訊息佇列Linux程式設計佇列
- Linux程式基礎命令有哪些?Linux運維命令入門基礎Linux運維
- Linux系統程式設計之程式間通訊方式:命名管道(二)Linux程式設計
- Linux系統程式設計之程式間通訊方式:命名管道(一)Linux程式設計
- linux程式間通訊(IPC)小結Linux
- Linux程式間通訊②:有名管道FIFOLinux
- linux程式間通訊--管道(PIPE & FIFO)Linux
- Linux shell有哪些型別?Linux入門知識分享Linux型別
- Linux入門教程Linux
- 【Linux入門知識分享】常見的Linux系統有哪些?Linux
- linux技術的發展方向有哪些?Linux運維入門Linux運維
- Linux 程式間通訊的六種機制Linux
- Linux 下的程式間通訊:共享儲存Linux
- Linux協議有哪些面試題?Linux運維入門Linux協議面試題運維
- Linux主要應用領域有哪些?Linux基礎入門Linux
- Linux運維職業發展方向有哪些?Linux入門Linux運維
- Linux 下的程式間通訊:套接字和訊號Linux
- Linux運維工程師需要掌握哪些知識?Linux入門教程Linux運維工程師
- Linux作業系統 程式之間的通訊Linux作業系統
- Linux 程式間通訊之System V 訊號量Linux
- Linux系統有哪些應用領域?Linux運維入門Linux運維
- Linux運維常用命令有哪些?Linux基礎入門Linux運維
- Linux常見目錄結構有哪些?Linux基礎入門Linux