訊息傳遞系統

訊息傳遞系統,套用於程式設計,有不必藉助共享數據的優點。進程傳送的訊息可以是定長的也可以是變長的。如果只可以傳送定長的訊息,那么系統層的實現就很簡單。然而,這種限制增加了程式設計的難度。另一方面,變長的訊息需要更複雜的系統層實現,但是程式設計工作更簡單。

功能

訊息系統的功能是允許進程與其它的進程進行通信而。我們已經看到了訊息傳遞在微核心中的套用。在這種方案下,服務作為普通的用戶進程提供。更確切的說,服務在核心之外。用戶進程之間的通信通過傳遞訊息完成。IPC 至少提供了兩種操作:send(message)和receive(message)。

進程傳送的訊息可以是定長的也可以是變長的。如果只可以傳送定長的訊息,那么系統層的實現就很簡單。然而,這種限制增加了程式設計的難度。另一方面,變長的訊息需要更複雜的系統層實現,但是程式設計工作更簡單。

通信

如果進程P 和Q 要進行通信,那么它們必須能夠互相傳送和接收訊息;二者之間必須要建立一條通信鏈路。有多種方法可以實現這條鏈路。在這兒,我們並不關心鏈路的物理實現,而是要考慮它的邏輯實現。有如下幾種用於邏輯實現send/receive 操作的方法:

l 直接或間接通信

l 對稱或不對稱通信

l 自動或手動緩衝(Automatic or explicit buffering)

l 傳送拷貝或引用

l 定長訊息或變長訊息(Fixed-sized or variable-sized messages)

相關詞條

相關搜尋

熱門詞條

聯絡我們