A few general questions about L4

Adam Lackorzynski adam at os.inf.tu-dresden.de
Tue Feb 22 01:07:15 CET 2011


On Mon Feb 21, 2011 at 14:17:50 +0000, Maciej Katafiasz wrote:
> I'm currently investigating L4 as the platform on which to base an OS I'm 
> considering writing, and for this reason I have several more or less specific 
> questions to help me get oriented in the whole L4 ecosystem.
> As a matter of introduction, the OS I have in mind is a modern incarnation of a 
> Lisp Machine (http://en.wikipedia.org/wiki/Lisp_machine), attempting to marry 
> the good parts of LispM's such as hackability and the ability to inspect and 
> touch the OS on any level, without their problems (such as the great ease of 
> _crashing_ the OS by mistake, and their inherent lack of security and 
> compartmentalisation). The OS is intended to be practical, and I'm greatly 
> interested in preserving compatibility with existing software, and the ability 
> to mix Lisp apps with C libraries and vice-versa. The practicality requirement 
> also means that I want to avoid writing everything I can avoid writing, in 
> particular drivers.
> With this being said, here are my initial questions:
> * Which implementations are currently considered active and sufficient for 
> basing new efforts on? I know Fiasco.OC, seL4, OKL4 and L4Ka. Out of these, seL4 
> and OKL4 are closed-source and proprietary, thus not really suitable for my 
> needs. Fiasco.OC seems active, L4Ka somewhat less so, with last full release 
> from 2004 (although the last commit to Hg seems to be from 2 months ago).

I think you observed the situation as it is.
> * Furthermore, Fiasco.OC includes, from what I understand, a capability security 
> model, which'd probably be handy for my purposes. However, I can find no 
> documentation on this model. Are there any docs I'm missing? That actually holds 
> for L4 in general as well as Fiasco, the only thing I could find is the X.2 API 
> reference manual, and the very incomplete user manual. Are there any more 
> complete versions of the user manual or other documents explaining the whys of 
> L4, not just hows?

The whys are mainly described in papers, starting with the original ones
from Jochen Liedtke. Based on those thoughts many others have been
written, mainly from groups in Karlsruhe, Dresden and UNSW/NICTA. Check
their publication lists.
For Fiasco a starting points might be http://os.inf.tu-dresden.de/L4Re/doc/
which has a description on the front page. For descriptions we usually
point to our lecture slides (e.g.

> * On the other hand, L4Ka has existing projects such as driver virtualisation, 
> which are of great interest to me, as mentioned in the introduction. Thus I'd 
> like to know how compatible in practice the different L4 implementations are. If 
> I took the code from L4Ka's Afterburner, is it at all possible to run it on top 
> of Fiasco, or would I have to rewrite it? Similarly, would it be possible to 
> port NICTA's L4/Darwin IOKit compatibility layer to another L4, or is it tied to 
> the specific implementation of L4 from NICTA?

Basically all L4 variants share the same spirit but have (very)
different APIs, thus taking a component from one system to another
involves porting work.
> * Since I want to preserve the compatibility with existing environments such as 
> POSIX and/or Win32, I'd like to know if anybody has done any practical research 
> into running multiple OS personalities on top of a microkernel such as L4. I'd 
> be extremely grateful for any links and/or advice regarding running 
> personalities, as well as mixing code operating within the different subsystems.

Sawmill and The Hurd come to mind.
Speaking for L4Re there's a fair bit of POSIX available to get some
available software running.

> * Lastly, I'd like to know if there's any reasonably-populated IRC channel 
> dedicated to L4. Since I'm still very much exploring the problem space more than 
> the solution space, I appreciate the interactive nature of IRC, which helps me 
> formulate questions I might not even know I have yet. I've found one old mail 
> asking about IRC previously, with Adam's reply pointing to his personal 
> homepage, but I still wasn't able to find any L4 channels that way.

There was/is #elf|ka on slashnet as you already noticed. I just joined
#l4-hackers on oftc, let's see...

Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/

More information about the l4-hackers mailing list