作業系統的筆記 程序的通訊

2021-07-23 06:00:50 字數 819 閱讀 1904

併發程序在執行過程中,不僅會發生程序的互斥和程序的同步關係,也時候也需要進行京城之間的通訊,程序的通訊就是指併發過程在執行過程中,相關程序之間進行交流資訊,從定義看,程序同步也是一種程序通訊方式,訊號量機制和管程機制的通訊量很小,不適合大量資訊的傳送,所以程序同步機制為低階通訊方式,改方式主要用來協調程序之間的執行的速度,大量的資訊的交換成為高階通訊方式。

訊號量機制和管程機制除了交換的資訊量較少以外,還有乙個缺點就是,訊號量機制和管程機制的實現都是通過共享儲存器來實現的,如訊號量管程中的條件變數等,都是儲存在共享緩衝區中的共享變數。在網路環境或者分布式環境中,基於共享儲存器方式的訊號量和管程機制就不能使用。這樣需要實現新的通訊原語和手段來實現程序之間的資料的交換。

程序的高階通訊為的不是協調程序的推進的速度,目的是為了交換資訊。程序之間通訊的方式主要有:管道檔案通訊方式,共享儲存器方式和訊息傳遞方式。

1.管道檔案通訊方式:管道檔案是鏈結兩個命令的乙個開啟檔案,乙個命令向改管道檔案寫入資料,另乙個檔案從該管道檔案讀出資料。該管道檔案就是兩個命令交換資訊的橋梁

2.共享儲存器方式:在記憶體區域開闢乙個共享儲存器區,需要交換資訊的程序將該共享儲存區納入到自己的程序的位址的空間去,這樣程序之間的通訊成為可能,當不需要通訊時,取消這片區域。

3.訊息傳遞方式:該方式以訊息為單位在各個程序之間進行資訊交換。

當前的作業系統以及網路系統中,訊息傳遞方式得到了廣泛的使用,實際上,管道方式也可以看做是訊息傳遞方式的一種,訊息傳遞的方式實現程序之間的通訊。不僅可以傳遞大量的資訊,還可以使用在本計算機系統的共享儲存器中,還可以再分布式的非共享儲存器環境。並且從使用上看,在分布式環境下的訊息傳遞的機制,使用起來就像在本機上使用一樣簡單。

作業系統 程序通訊

競爭條件 兩個或多個程序讀寫某些共享資料,而最後的結果取決於程序執行的精確時序,稱為競爭條件。凡涉及到資源的共享時就容易發生這樣的事情。解決的辦法是設立臨界區,讓程序互斥地訪問共享資源。乙個好的避免競爭條件的方案,必須滿足4個條件 任何兩個程序不能同時處於臨界區。不應對cpu的速度和數量做任何假設。...

作業系統 程序通訊

學生實驗報告 實驗課名稱 計算機作業系統 實驗專案名稱 程序間通訊實驗 專業名稱 電腦科學與技術 一 實驗目的 linux系統的程序通訊機構 ipc 允許在任意程序間大批量地交換資料。本實驗的目的是了解和熟悉linux支援的訊息通訊機制 共享儲存區機制及資訊量機制。二 實驗要求 閱讀linux系統的...

作業系統 程序通訊

常用通訊模型 間接 通過作業系統核心 直接阻塞,被認為是同步的 非阻塞,被認為是非同步的 接收到訊號可能 類似軟中斷,停止正常執行。不適合傳遞資料 因為它傳遞的資訊很小,只是一位。僅起到通知作用。效率高。系統處理過程 註冊針對某個訊號的handler 一旦產生了訊號,作業系統收到訊號後,執行在核心態...