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
http://genode.org/documentation/release-notes). 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.
Cheers
Norman
--
Dr.-Ing. Norman Feske
Genode Labs
http://www.genode-labs.com · http://genode.org
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