程序通訊分類:1
、低階通訊:程序的互斥和同步,
2、高階通訊:指使用者可直接利用
os提供的
一組通訊命令,高校地傳送大量資料的一種通訊方式。對使用者同名。
高階通訊分類:共享儲存器系統、訊息傳遞系統、管道通訊
共享儲存器系統:1
、共享資料結構的通訊方式 程序之間通過某種資料結構,如緩衝池程序通
信方式;
2、共享儲存區通訊方式 為了傳送大量資訊,程序可通過對共享儲存區進行讀或寫來是想通訊,屬於高階通訊方式。
訊息傳遞系統:資訊交換單位是訊息或報文:分成兩種:1
、直接通訊方式,
2、間接通訊方式
計算機網路中將訊息成為報文。
直接通訊方式:傳送程序直接吧訊息傳送給目標程序 傳送程序和接受程序都已顯試本別提供對方的標誌符。
系統提供兩條通訊原語:
send(receiver, message);
receive(sender ,
message
);間接通訊方式:
資訊傳送和接收到原語:
send( mailbox , message): 將乙個資訊傳送到指定信箱
receive( mailbox , message) :從指定信箱中接受乙個訊息
信箱分類:私用信箱,共用信箱,共享信箱;
私用信箱:使用者程序建立,作為該程序的一部分; 擁有者有權讀訊息,其他使用者只能
傳送 ; 採用單向通訊鏈路 程序結束是信箱消失
公用信箱:他又os
建立.
提供給系統中的所有核准程序使用。 程序既傳送也
可取出 採用雙向通訊鏈路的信箱來實現。 系統執行期間始終存在
共享信箱:由某個程序建立,建立是提供共享程序(使用者)的名字。 信箱的擁有
者和共享這,都有權從信箱中取走傳送給自己的訊息。
信箱通訊是傳送程序和接收程序的關係:
一對一關係:建立一條專用的通訊鏈路。
多對一關係:服務程序與多個程序之間進行互動,又稱客戶/
伺服器互動。
一對多關係:乙個傳送程序與多個接收程序進行互動,使傳送程序可用廣播形式,向接收者傳送訊息。
多對多關係:建立乙個共用信箱,多個程序投遞並取走自己的訊息。
管道通訊: (管道實質就是乙個共享檔案)
:管道通訊方式建立在檔案系統的基礎上,利用共享檔案鏈結兩個相互通訊的程序,此共享檔案成為管道(pipe
)。 管道是指用於連線乙個讀程序和乙個寫程序,一實現他們之間的共享檔案
管道通訊 必需的協調能力:
1、互斥 當乙個程序正在對管道進行讀/
寫操作是,另一程序必須等待
2、同步 當寫(輸入)程序把一定量的資料(如4k
)寫入管道後,便去睡眠等待,
直到讀(輸出)
程序取走資料後在把它喚醒。當讀程序發現管道空時也應睡眠等待,
直至寫程序將訊息寫入管道後,才將它喚醒。
3、判別對方是否存在。只有確定對方存在時方能進行通訊
作業系統 程序通訊
競爭條件 兩個或多個程序讀寫某些共享資料,而最後的結果取決於程序執行的精確時序,稱為競爭條件。凡涉及到資源的共享時就容易發生這樣的事情。解決的辦法是設立臨界區,讓程序互斥地訪問共享資源。乙個好的避免競爭條件的方案,必須滿足4個條件 任何兩個程序不能同時處於臨界區。不應對cpu的速度和數量做任何假設。...
作業系統 程序通訊
學生實驗報告 實驗課名稱 計算機作業系統 實驗專案名稱 程序間通訊實驗 專業名稱 電腦科學與技術 一 實驗目的 linux系統的程序通訊機構 ipc 允許在任意程序間大批量地交換資料。本實驗的目的是了解和熟悉linux支援的訊息通訊機制 共享儲存區機制及資訊量機制。二 實驗要求 閱讀linux系統的...
作業系統 程序通訊
常用通訊模型 間接 通過作業系統核心 直接阻塞,被認為是同步的 非阻塞,被認為是非同步的 接收到訊號可能 類似軟中斷,停止正常執行。不適合傳遞資料 因為它傳遞的資訊很小,只是一位。僅起到通知作用。效率高。系統處理過程 註冊針對某個訊號的handler 一旦產生了訊號,作業系統收到訊號後,執行在核心態...