功能
訊息系統的功能是允許進程與其它的進程進行通信而。我們已經看到了訊息傳遞在微核心中的套用。在這種方案下,服務作為普通的用戶進程提供。更確切的說,服務在核心之外。用戶進程之間的通信通過傳遞訊息完成。IPC 至少提供了兩種操作:send(message)和receive(message)。
進程傳送的訊息可以是定長的也可以是變長的。如果只可以傳送定長的訊息,那么系統層的實現就很簡單。然而,這種限制增加了程式設計的難度。另一方面,變長的訊息需要更複雜的系統層實現,但是程式設計工作更簡單。
通信
如果進程P 和Q 要進行通信,那么它們必須能夠互相傳送和接收訊息;二者之間必須要建立一條通信鏈路。有多種方法可以實現這條鏈路。在這兒,我們並不關心鏈路的物理實現,而是要考慮它的邏輯實現。有如下幾種用於邏輯實現send/receive 操作的方法:
l 直接或間接通信
l 對稱或不對稱通信
l 自動或手動緩衝(Automatic or explicit buffering)
l 傳送拷貝或引用
l 定長訊息或變長訊息(Fixed-sized or variable-sized messages)