From 4eea3efc13acccfb613571f604f17e0ec68e5bed Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 13 Dec 2010 20:22:52 +0100 Subject: ``Some'' Mach documentation. Parts have been rescued from 4b382d8daa5a9e2d54e78c18beeff76bc54dc16b:Mach/MachConcepts.mdwn. --- ipc.mdwn | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'ipc.mdwn') diff --git a/ipc.mdwn b/ipc.mdwn index 2f9cef2e..ff9a166c 100644 --- a/ipc.mdwn +++ b/ipc.mdwn @@ -1,16 +1,17 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2010 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] -IPC stands for interprocess communication. +*IPC* stands for *inter-process communication*. -On [[Unix]], interprocess communication can be achieved using pipes. +On [[Unix]], inter-process communication can be achieved using pipes. This is inefficient for large amounts of data as the data must be copied. This is generally not a problem as most services are provided by the Unix kernel and Unix is not designed to be @@ -22,12 +23,14 @@ of many components. As components are separated by their respective examine and modify the caller's state. The advantage is that if the protocol is carefully designed, the callee cannot cause the caller any [[destructive_interference]] thereby removing the need for the -caller to [[trust]] the callee thus reducing the former's [[tcb]]. +caller to [[trust]] the callee thus reducing the former's [[TCB]]. When done systematically, this can increase the system's [[robustness]]. To this end, microkernels provide richer IPC semantics that include the ability to transfer [[capabilities|capability]] and to use [[virtual_memory]] [[mechanism]]s to copy data. +Continue reading about [[Mach's IPC system|microkernel/mach/IPC]]. + # See Also -- cgit v1.2.3