> > 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 material. 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 porting glibc. 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 interesting project. Cordially, Ad Buijsen

