1. 程式人生 > >作業系統--第二章程序的描述與控制_3

作業系統--第二章程序的描述與控制_3

程序通訊

程序通訊指程序間的資訊交換.
大體劃分為兩類:
①.程序的互斥與同步(如訊號量機制)
這種屬於低階的程序通訊,原因在於其 1.通訊的效率低下 2.通訊對使用者不透明
②.OS提供的高階通訊工具.其特點是:1.能高效的傳送大量資料 2.對使用者透明(封裝了實現通訊的細節).

高階通訊機制可以分為四大類:

一.共享儲存器系統
①.基於共享資料結構的通訊方式: 程式設計師負責對公用資料結構設定及對程序間同步的處理,這種屬於低階通訊.
②.基於共享儲存區的通訊方式:諸程序通過對該共享區的讀寫交換資訊,資料的形式,位置,訪問控制全都由程序負責而非OS,屬於高階通訊.
二.管道通訊系統
管道指用於連線一個讀程序和一個寫程序以實現它們間通訊的一個共享檔案(pipe檔案).
管道機制必須提供三方面的協調能力:
①.互斥 ②.同步 ③.確定對方是否存在
三.訊息傳遞系統
這是使用最廣泛的一種,以格式化的訊息(message)為單位完成程序間的資料交換.該方式隱藏了通訊實現細節,使通訊過程對使用者透明化,降低了通訊程式設計的複雜性和錯誤率.
因其實現方式不同,分為兩類:
①.直接通訊方式:利用OS提供的原語直接將訊息傳送到目標程序
②.簡介通訊方式:傳送和接收程序都通過共享中間實體的方式進行訊息的傳送和接收,完成程序間的通訊.
四.客戶機-伺服器系統(Client-Server System)
其為網路環境的各種應用領域的主流實現機制.主要實現方法分為三類:
套接字,遠端過程呼叫和遠端方法呼叫.