Re: L4 microkernel as a user-level program

David Leimbach <[email protected]> Sat, 12 Dec 2009 06:51:39 -0800
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
I was thinking an interesting project would be to get L4 ported to vx32.  vx32 is a really lightweight virtualization environment that runs on top of Mac OS X, Linux and FreeBSD, and one of the authors actually ported the Plan 9 operating system to it, and it's bundled with the vx32 source code.

In fact, I thought it'd be good to port Plan 9 to L4 and L4 to vx32, then L4 linux could supply device drivers to Plan 9 :-).

This would satisfy some very practical goals for a somewhat small community as well as be a nice platform to build and run both L4 and Plan 9 programs without having to use a full fledged emulation environment.

vx32 can be found here:  http://pdos.csail.mit.edu/~baford/vm/

(Russ Cox is one of the engineers behind Google's Go programming language, and the primary guy behind the plan 9 userspace port)

Dave

On Dec 11, 2009, at 11:00 PM, Michael FIG wrote:

> Hi,
> 
> Norman Feske <[email protected]> writes:
> 
>> there is a variant of the L4/Fiasco kernel called Fiasco UX that
>> can be executed as Linux program.
> 
> Thank you very much for this pointer.
> 
> I have some experience with User Mode Linux, ptrace, and other such
> black magic.  IMO, it would be too much work and be of limited use to
> me to take the same approach as Fiasco UX... I am targeting multiple
> platforms (such as Windows, *BSD, Linux, and Mac OS X) and have no
> need for binary compatibility with other L4 systems.
> 
> So, I'll poke around some more, and see if there is any other advice
> from people on the list.  I'm thinking the best approach would be just
> to create a new architecture or two, such as "posix32", "win32", and
> write glue and stubs that is portable to many systems rather than just
> to one.
> 
> By using a single-process model and thereby giving up binary
> compatibility, there is a chance of recovering high performance.  My
> motivation is developing a VM for a new programming language platform.
> The language can provide some of the safety guarantees that I'll be
> losing with the single-process design.
> 
> Of course, once the language gains enough applications to be useful by
> itself, I can recommend that its users install it on a "real" L4
> kernel running on bare hardware.
> 
>> As far as I understand, the approach is not tied to Fiasco but could
>> be applied to Pistachio as well. If there existed a user-level version
>> of Pistachio, I'd be one of its users for sure ;-)
> 
> Let me know if the above meshes with your needs!
> 
> Thanks,
> 
> -- 
> Michael FIG <[email protected]> //\
>   http://michael.fig.org/    \//
>