genode 12.08 advantages over fiasco

Norman Feske norman.feske at ...1...
Fri Aug 31 14:19:53 CEST 2012

Hi Jotish,

> Can any one tell me the advantages of genode 12.08 over fiasco
> microkernel. Specifically in terms of secure OS point of view which
> one is better.

I suppose you are referring to Fiasco.OC? Strictly speaking, comparing
Genode with Fiasco.OC is comparing apples with oranges. Fiasco.OC is a
kernel whereas Genode is user-land. Both are complimentary, and indeed,
can be combined. Fiasco.OC is one of the options that can be used as
base platform of Genode.

Just guessing, but maybe, your question was actually referring to the
combination of Fiasco.OC with the L4 runtime environment (L4re)? So how
does Genode stacks up compared with L4re? I am afraid that I cannot
answer this question in a concise way. There are many differences. The
answer of which one is "better" would depend mostly on your specific
needs. Furthermore, as one of the original authors of Genode, I tend to
be biased. Anyway, here are some points that you might take as a start
to investigate further:

* L4re is tied to Fiasco.OC whereas Genode can be used on a wide variety
  of different kernels. The developers of L4re may argue that L4re is a
  better fit for Fiasco.OC because L4re was developed in orchestration
  with the kernel. Where Genode needs abstractions to accommodate
  different kernels, L4re can use the Fiasco.OC kernel API in a more
  straight-forward way. On the other hand, by using Genode, it is
  possible to switch between kernels at different stages of development
  and deployment. So it offers more flexibility.

* Genode has a rigid architecture. The system is fundamentally built on
  the idea of a recursive tree of processes. L4re does not have such an
  architectural idea as an intrinsic part of the system. Most of
  Genode's unique solutions to problems such as its resource-management
  and configuration concept stem from its architecture.

* The functionality of both user lands differs. L4re is strong with
  regard to supporting different ARM platforms. On the other hand,
  Genode offers a lot of 3rd-party software such as Qt4, Gallium3D,
  and native device drivers.

* The L4re developers regard the use L4Linux as a fundamental ingredient
  for the system. For example, L4Linux is used as host for device
  drivers. With Genode, we see virtualization as suitable interim
  solution for using software that is not yet available on Genode. But
  the ultimate goal is to have all functionality running as native
  Genode components. For example, we develop the Noux runtime to
  execute GNU software directly on Genode instead of relying on
  an L4Linux instance.

* The mode of development is very different. Genode is developed at
  GitHub (code repositories, issue tracker). The development is
  completely transparent. There are official releases every three
  months, accompanied with comprehensive release notes (see In contrast,
  snapshots of L4re happen to be released at pretty irregular intervals
  with no public documentation of changes.

You see, I'm presenting Genode in a positive light. That's because I am
pretty dedicated about it. Please take the information above with that
in mind.


Dr.-Ing. Norman Feske
Genode Labs ·

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list