linux 複習大綱(程序間的通訊)

2021-10-02 05:59:18 字數 553 閱讀 6489

1)有名管道與無名管道的區別:

有名管道:任何程序之間

無名管道:父子程序之間

訊號量是乙個計數器,常用於處理程序或執行緒的同步問題,特別是對臨界資源的同步訪問。

臨界資源可以簡單的理解為在某一時刻只能由乙個程序或執行緒進行操作的資源,這裡的資源

可以是一段**、乙個變數或某種硬體資源。訊號量的值大於或等於0時表示可供併發程序使用的

資源實體數;小於0時代表正在等待使用臨界資源的程序數。

注意:這裡的訊號量跟訊號是沒有關係的。

與訊息佇列類似,linux核心也為每個訊號量維護了乙個semid_ds 資料結構例項,

同一時刻只有乙個程序可以去訪問

p:+1

v:-1

對臨界資源的訪問有控制,達到同一時刻程序可以去訪問

這個方式一般用的少,就不細講了

看我之前的部落格中有提到:

Linux程序間通訊

程序間通訊 ipc interprocess communication 基本機制 訊號 管道及命名管道 訊息佇列 共享主存 訊號量 套接字。訊號 全稱軟中斷訊號,是在軟體層次上對中斷機制的一種模擬,它也是程序間通訊機制中唯一的非同步通訊機制。linux訊號處理函式可分為訊號安裝函式 訊號傳送函式和...

Linux程序間通訊

謝謝nonoob糾錯 我們在linux訊號基礎中已經說明,訊號可以看作一種粗糙的程序間通訊 ipc,interprocess communication 的方式,用以向程序封閉的記憶體空間傳遞資訊。為了讓程序間傳遞更多的資訊量,我們需要其他的程序間通訊方式。這些程序間通訊方式可以分為兩種 1.管道與...

Linux程序間通訊

謝謝nonoob糾錯 我們在linux訊號基礎中已經說明,訊號可以看作一種粗糙的程序間通訊 ipc,interprocess communication 的方式,用以向程序封閉的記憶體空間傳遞資訊。為了讓程序間傳遞更多的資訊量,我們需要其他的程序間通訊方式。這些程序間通訊方式可以分為兩種 1.管道與...