[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fwd: [Introspector-developers] status report

From: Marcus Brinkmann
Subject: Re: Fwd: [Introspector-developers] status report
Date: Fri, 17 Oct 2003 23:31:20 +0200
User-agent: Mutt/1.5.4i

On Fri, Oct 17, 2003 at 01:52:14PM -0700, James Michael DuPont wrote:
> > I was a bit surprised at your assertions about Mach and Hurd, too. 
> I think that mach has a very interesting and clean api for IPC. The
> usage of ports everywhere makes it clean. Much more interesting than
> the linux kernel.

Yes, it is very consistent and abstract.  But, it is also incredible slow
and resource heavy, and enforces a lot of policy on the user.  This slows
down the fast path, and introduces some interesting DoS attacks.

There are also some crucial features missing.  For example, you can not
identify the owner of a port, or where a message came from.  This allows a
user to hide ports in other tasks as reply ports to blocking messages,
causing cyclic dependencies and thus resource leaks (similar to fd passing
and pipes, where in Unix a similar problem exists [might be fixed in some

The point being here that Mach's IPC system is nice if you are looking at
the abstraction.  But if you take performance, stability and accountability
into your consideration, you will quickly realize (with the help of the last
decade of OS research) that the cleanliness comes at a great, and for a
microkernel design unbearable, cost.  Plus the features that are really
expensive are rarely or never used, but you pay for them all the time.

And the Hurd is not difficult to compile either :)


`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    marcus@gnu.org
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]