第二章 程序管理(4) 程序通訊

2021-06-22 15:42:40 字數 1389 閱讀 1136

2.5、管程機制(一種新的程序同步工具)

利用共享資料結構抽象地表示系統中的共享資源(把共享的資源抽象的用共享資料結構來表示),而把對該共享資料結構實施的操作定義為一組過程,如資源的請求和釋放過程request 和release。程序對共享資源的申請、釋放和其它操作,都是通過這組過程對共享資料結構的操作來實現的,這組過程還可以根據資源的情況,或接受或阻塞程序的訪問,確保每次僅有乙個程序使用共享資源,這樣就可以統一管理對共享資源的所有訪問,實現程序互斥。

代表共享資源的資料結構,以及由對該共享資料結構實施操作的一組過程所組成的資源管理程式,共同構成了乙個作業系統的資源管理模組,我們稱之為管程(這個是管程的定義)。管程被請求和釋放資源的程序所呼叫。     hansan 為管程所下的定義是:「乙個管程定義了乙個資料結構和能為併發程序所執行

(在該資料結構上

)的一組操作,這組操作能同步程序和改變管程中的資料」。

由上述的定義可知,管程由四部分組成:① 管程的名稱;② 區域性於管程內部的共享資料結構說明;③ 對該資料結構進行操作的一組過程;④ 對區域性於管程內部的共享資料設定初始值的語句。

管程相當於圍牆,它把共享變數和對它進行操作的若干過程圍了起來,所有程序要訪問臨界資源時,都必須經過管程

(相當於通過圍牆的門

)才能進入,而管程每次只准許乙個程序進入管程,從而實現了程序互斥。

2.6、程序通訊

程序通訊,是指程序之間的資訊交換,其所交換的資訊量少者是乙個狀態或數值,多者則是成千上萬個位元組。程序之間的互斥和同步,由於其所交換的資訊量少而被歸結為低階通訊。在程序互斥中,程序通過只修改訊號量來向其他程序表明臨界資源是否可用。

應當指出,訊號量機制作為同步工具是卓有成效的,但作為通訊工具,則不夠理想。

目前,高階通訊機制可歸結為三大類:共享儲存器系統、訊息傳遞系統以及管道通訊系統。

(1)共享儲存器系統

在共享儲存器系統(shared-memory system)中,相互通訊的程序共享某些資料結構或共享儲存區,程序之間能夠通過這些空間進行通訊。

(2)訊息傳遞系統

訊息傳遞系統

(message passing system)

是當前應用最為廣泛的一種程序間的通訊機制。在該機制中,程序間的資料交換是以格式化的訊息

(message)

為單位的;在計算機網路中,又把message稱為報文。

(3)管道通訊

所謂「管道」(是乙個共享檔案),是指用於連線乙個讀程序和乙個寫程序以實現它們之間通訊的乙個共享檔案,又名

pipe

檔案。向管道

(共享檔案

)提供輸入的傳送程序(即寫程序),以字元流形式將大量的資料送入管道;而接受管道輸出的接收程序(即讀程序),則從管道中接收(讀)資料。由於傳送程序和接收程序是利用管道進行通訊的,故又稱為管道通訊(特別注意「管道」其實是乙個共享檔案)。

第二章 程序通訊

1 低階通訊 程序之間的互斥和同步 訊號量機制是有效的同步工具,但作為通訊工具缺點如下 1 效率低 通訊量少 2 通訊對使用者不透明 程式設計師實現,作業系統只提供共享儲存器供 操作 2 高階程序通訊 使用者直接利用作業系統提供的一組通訊命令,高效地傳送大量資料的通訊方式。作業系統隱藏了程序通訊的細...

第二章 程序管理

報考的是三系老師 不是搞硬體的 但由於自己考研時選的科目有作業系統,所以 大致看一下了解即可 1 程序通訊 第一 共享儲存 第二 訊息傳遞 分為直接通訊方式 和 信箱通訊方式 第三 管道通訊 1 排程的層次 第一 作業排程 高階排程 按一定原則從外村上處於後備狀態的作業中挑選乙個 或多個 作業,給它...

第二章 程序管理 課後題

綜合應用 作業系統提供給應用程式的介面是 系統呼叫 wait s 操作中的block s.l 阻塞的程序是 呼叫wait s 的程序 在乙個單處理系統中存在5個程序,處於就緒佇列中的就緒程序數最多為 5個 若記錄型訊號量的wait s 和signal s 操作的訊號量s的初始值為2,當前值為 1,則...