作業系統中的程序通訊

2021-06-20 01:54:50 字數 1518 閱讀 3975

程序通訊分類: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 一旦產生了訊號,作業系統收到訊號後,執行在核心態...