Re: [Hurd-alpha-devel] Re: L4 instead of gnumach?
> However, I think Mach emulation would be a good thing as the first
> step, because you will be able to investigate how different L4 is from
> Mach and what would be necessary to be done in details. But I'd like
> to point out that Mach emulation should be temporary but not a
> permanent solution.
If you just want to examine the L4 API, you might just as well use
L4Linux; all L4 system calls are available. There is also a small
multi-server OS available for L4KA which would make interesting study
A few pseudo-random thoughts/ramblings..............
The HURD relies heavily on mach: ports are used profusely and threads
are assumed to be available in bucketloads. L4 offers nothing like
ports and the maximum numbers of threads per task is quite limited.
There are ways to overcome the latter, but the cost (in terms of
performance) may be prohibitive. Perhaps a L4 guru can shed some light
on this matter.
L4 itself is a work in progress, and I don't think that the API has
stabilized fully yet. There are the changes needed for SMP, a tweak
proposed for supporting user-space debugging and a new and more
flexible IPC redirection described in a paper (and implemented in
LAVA?). We need a sufficiently progressed API to work with, and one
that is supported by all the "interesting" implementations of L4.
Then there is the little matter of pagers and where to put the device
drivers, how to reuse the ones from Linux and how to preserve at least
some of the real-time capabilities of the microkernel.
On the upside: there is a lot of documentation on L4, and it has been
tinkered with heavily by several academic groups. For instance, DROPS
has sprouted a lot of interesting subprojects, some of which may be of
use to a HURD/L4. The important thing here is that cooperation with
said groups is important. Maybe they can even be persuaded to help
All in all, I think that getting an implementation of the HURD on L4
will be a major undertaking, requiring careful study, experimentation
and planning, and may well need redesign of important parts of the HURD
to result in something that is as fast as is expected. Still, it is an