l4-hurd
[Top][All Lists]
Advanced

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

Re: design goals vs mechanisms (was: Re: Let's do some coding :-)


From: Marcus Brinkmann
Subject: Re: design goals vs mechanisms (was: Re: Let's do some coding :-)
Date: Thu, 27 Oct 2005 00:11:52 +0200
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (Sanjō) APEL/10.6 Emacs/21.4 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI)

At Wed, 26 Oct 2005 17:14:39 -0400,
"Jonathan S. Shapiro" <address@hidden> wrote:
> > Support for legacy applications...
> 
> Yes, though I think there is not yet consensus about whether a 90%
> solution is needed or a 100% solution is needed.

I am not so sure that this is really the point of contention.  So far
I have heard two vocal proponents for legacy support, and these are
Alfred and Olaf.  What have they said?

Alfred said that the OS should run the GNU tools, and more
specifically, it should run the GNU tools at its native layer (it
would be "unacceptable" otherwise).  This objection is easily
dismissed as non-sense, because (1) nobody said that it should not run
the GNU tools, and (2) we have always said that POSIX is just one
personality, and that the GNU tools should _not_ run on the native
layer.  This is already the case in the Hurd on Mach.  Do the GNU
tools run at the native Mach layer?  No, they don't.  Do they run on
the bare Hurd servers?  No, they don't do this either.  They run in
the POSIX environment provided by glibc.

Furthermore, Alfred conceeded that POSIX should not be fully
implemented, and he even suggested to sandbox applications in
sub-hurds, which just means that he wants to add more layers (it
doesn't matter if the different layers provide the same API or not).
Both is easily supported, so there is no contradiction here.

Olaf conceeded that there should be a native system "under the hood",
but demanded that the POSIX system be the first visible experience of
the user, who should then be incrementally exposed to alternative
systems.  I have an answer for him, but I don't know if it satisfies
him.  Nothing and nobody can stop Olaf from pre-installing a
bug-by-bug compatible POSIX sandbox on top of the system and selling
that as a product.  Ie, what layers are exposed to the user is more or
less a distribution issue.  In effect, this will _effectively_
compromise some of the design goals.  You have said at some other
place something akin to: "If I get everybody to run a POSIX system on
top of EROS, I will have defeated myself."  I think this pretty much
nails it on the head, and leads me to what I think Olaf really wants:

I think Olaf means that there should be very tight integration of
POSIX and the rest of the system, which should provide "enhancements"
over POSIX.  This is actually something that the Hurd tried to
accomplish: It tried to improve over POSIX, while not leaving POSIX
behind.  In some areas, it succeeded, but in other areas it was a
failure.  The experience of the Workplace OS seems to suggest that it
is very hard to achieve tight integration of multiple personalities
(Freeman, Experience with the Development of a Microkernel-Based,
Multiserver Operating System).

So, in summary: I think that the objections really are not how much of
legacy to support efficiently.  I think the objections actually are:

* GNU is written for POSIX, and thus POSIX should be first class.

Response: Not very conclusive, due to lack of precedence on Mach.
Furthermore, doesn't really explain why GNU/Linux is not sufficient.

* The POSIX environment should be tightly integrated with the other
  personalities.

Response: I have great doubts if that can be achieved without dropping
a considerable number of other design goals.

Thanks,
Marcus





reply via email to

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