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 kernels]). 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 :) Thanks, Marcus -- `Rhubarb is no Egyptian god.' GNU http://www.gnu.org [EMAIL PROTECTED] Marcus Brinkmann The Hurd http://www.gnu.org/software/hurd/ [EMAIL PROTECTED] http://www.marcus-brinkmann.de/ _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd