Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 Jan 2002 13:32:08 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Rafter Man <rafter@linuxmail.org>
Cc:        freebsd-hackers@FreeBSD.org
Subject:   Re: The Hurd
Message-ID:  <3C322AD8.FF22D765@mindspring.com>
References:  <20020101191456.17623.qmail@linuxmail.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Rafter Man wrote:
> [ ... ] but now I have one more question.
> From the 27/12 too the 29/12 I was at the CCC congress and attended
> a lecture called "Unix Redesigned". It was Neal H Walfield who talked
> about The Hurd:

[ ... ]

> So my question is: Will FreeBSD take a good look at the Hurd?

Your focus appears to be on security, so you should really
look at the POSIX 1e effors currently underway in the FreeBSD
community.  However, I'll try to be more general...


Hurd is a multiserver running on top of MACH.  FreeBSD already
has an unencumbered single server version that runs on top of
MACH, and MAC OS X is already a multiserver implementation.

As a general comment, MACH is a dead horse.  The problem is that
it contains significantly more protection domain crossing than
it should in order to communicate between OS components, and for
each crossing, you pay a hefty penalty.

During develeopement, it would be useful to have the ability to
seperate the component you are developing into its own address
space, but really, Chorus is a better model.

Though 4G RAM machines are increasingly common, statistical
memory protection approaches are still quite valid for doing
this type of work on 64 bit architectures: even with a full 4G
of RAM, program only have a 1 in 4 billion chance of finding
a valid byte of memory through random accident.

So despite the fact that I am quite impressed with MAC OS X, it
is really somewhat of a blind alley, according to current work
in CS.

I think a much better project to learn from would be "Choices":

	http://choices.cs.uiuc.edu/

There are also several lesser known capabilities-based OS
projects (the license on them is commercially restricted), and
they are capable of dealing with the Capabilities Security Model
bootstrap process, and are self checkpointing to the extent that
you could "have your dog kick out the plug, plug the machine in
again, and be up and running where you were in a matter of
seconds".

At one point in time, John Dyson, the original author of the
FreeBSD unified VM and buffer cache code (not to belittle the
excellent work done by Matt, Alfred, and others) was talking
about a project to write a drop-in-replacement SMP kernel that
was designed for SMP from the ground up.  I personally never
joined this effort, because John wanted to "cop out" on doing
kernel preemption, which is necessary for hard real time, and
for high granularity SMP and node migration of processes (for
example, in a NUMA cluster, rather than an Intel model SMP
system).

I think that many of us are aware and up to date on the most
recent research.  In fact, I would say that there are a fair
number of us who believe that FreeBSD is about a decade and
a half or more behind the state of the art; but since there
is not an infinite amount of time, and we have day jobs, we
can't "fix everything" over night.

There are some lessons that can be taken from HURD, but there
are other projects and products which have already taken
those lessons, and pushed them much farther than HURD has
considered pushing them.  It is much better to learn from
them, instead, rather than learning the same lessons from
HURD directly, and reinventing the wheel as a result.


-- Terry

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




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