Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Apr 2001 21:55:28 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        bakul@bitblocks.com (Bakul Shah)
Cc:        jmallett@newgold.net (Joseph Mallett), dkelly@grumpy.dyndns.org (David Kelly), bzdik@yahoo.com (Bzdik BSD), freebsd-chat@FreeBSD.ORG
Subject:   Re: Clash of Titans - Tale of two Morons
Message-ID:  <200104092155.OAA00840@usr08.primenet.com>
In-Reply-To: <200104082022.QAA22402@sheffield.cnchost.com> from "Bakul Shah" at Apr 08, 2001 01:22:16 PM

next in thread | previous in thread | raw e-mail | index | archive | help
> You will also see criticism of Mach from people working on
> more modern microkernels like L4.  They point out that `1st
> generation' ukernels like mach are not so small or fast or
> flexible.  They too ported Linux to run as a user process on
> L4 and found that L4-linux was still 5% slower than a native
> linux.

I'm not terribly impressed with L4.  Their "no commercial use"
license doesn't help my opinion any.

At one time, I got pretty deep into the bowels of Chorus,
which I fond to be very impressive (I've seen it running on
a 1024 node multiprocessor).


> Emulating Unix API does hobble a ukernel since a couple of
> user/supervisor mode boundary crossing are needed for each
> system call.  If you push more functinality in in the
> ukernel, it starts getting bloated and you lose some benefits
> of a ukernel (extensibility, fault isolation, ability to
> change or adapt behavior or policy).

It's the protection domain crossing that kills performance in
Mach; in particular, the external pagers.

You can alleviate this by using statistical memory protection,
and running everything out of the same protection domain.

Some of the Mach design decisions scream that all the world is
a VAX.


> There are a lot of neat ideas in these OSes but it seems that
> ultimately a lot of the modern OS research goes nowhere once
> a few PhD theses get generated and these students move on to
> new things.  The ubiquitousness of Unix does not help either.
> Even a very nice os like Plan9 has a hard time dethroning
> Unix.  Speaking which, you may also want to read Rob Pike's
> `System Software Research is Irrelevant' -- though i don't
> think the situation isn't all that bad.

Given my druthers, I think Inferno is better than Plan9, as an
example microkernel.

I think that the licensing costs for both, as well as the yearly
subscription renewal requirement, are why neither are gaining
any real ground.


> Bringing this back to FreeBSD, it would be neat to see the
> BSD API implemented on top of a tiny ukernel even if that
> meant a few % slowdown.  The FreeBSD kernel is grown quite a
> lot over the years and while I applaud and marvel at the
> amount of new stuff added and old stuff speeded up, every
> time someone adds a new feature I keep thinking does it have
> to be in the kernel?  Perhaps -current has become so fragile
> partially because of the kernel size and interdependency of
> modules.  Such rearchitecting would be fun but a big task....

That's what the Lites project was all about.  Unfortunately,
the only really good microkernel implementations out there are
very expensive closed source products.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104092155.OAA00840>