Genode Clarification Please

Lonnie Cumberland lonnie at ...218...
Sun Dec 15 21:11:28 CET 2013


Greetings All,

Thanks for you wonderful response to my inquiry about Genode as I really do
think that it is a great piece with a huge potential in the industry.

On Sat, Dec 14, 2013 at 5:10 AM, Norman Feske
<norman.feske at ...1...>wrote:

> Hi Lonnie,
>
> > I am new to Genode and think that it is very nice solution for a
> > microkernel OS for which I am trying to learn more about as it evolves
> > into a fully fledged general operating system as I think that it has the
> > potential to be much better than the majority that are currently
> > available although it still seem to be a long ways from production
> > quality at the moment.
>
> could you please elaborate a bit more on that bit about "production
> quality"? I am genuinely interested to learn what is missing from Genode
> having "production quality". I would greatly appreciate if you share
> your perception with us so that we can address your concerns.
>


I was not intending to cat Genode in a bad light, but mostly to simple say
that it does not yet have the same extensive use and history as other OS's
like Linux and Windows for example.

The biggest challenge ahead that I could see at the moment is the
availability of drivers needed to allow it to be easily installed  and run
on various hardware configurations.  This, of course, will just take a bit
of time as more drivers will be developed over time as the need arises from
the community.  I would like to investigate the possibility of a complete
OS distribution centered around Genode.

Currently, my interest is in NOVA with Genode instances running in VM's as
I was able to get the Genode 10.11 demo running in which I could start
small versions of tiny core linux but the networking stack would not work
on my system which is a HP p7-1451-pc recently purchased about 6-months
ago. That was nice to see though and I look forward to seeing a similar
thing with the latest Genode version once it is ready.


> > One thing that I am not clear about, and please forgive this question if
> > it is a bit elementary as to something simple that I should have been
> > able to ascertain, but I am confused on exactly where the Genode OS
> > framework fall into place as an independent OS.
>
> Your sentiment is actually quite common because Genode is neither an
> operating system in the usual sense nor a mere kernel. Because it fits
> poorly into existing categories, it is not easy to get a tangible grasp
> on it. I once tried to explain how Genode relates to existing OSes in
> the following interview, which you might hopefully find insightful:
>
>   http://www.genode.org/about/interview_rel36


Thanks for the link as it did clear up a bit of my questions.

>
>
> > The basis of my question is from the reading that I have been doing on
> > the Genode website in which I can see that it can be compiled to run on
> > baremetal as you would expect an OS to do, but why is it als able to be
> > compiled to be used with other base platforms?
>
> The kernel is just one tiny (literately tiny in particular when speaking
> of microkernels) piece of the overall system. Genode allows you to pick
> a kernel that fits best with your needs instead of tying you to a single
> kernel implementation. In fact, kernels differ in many respects. Let me
> just blatantly quote the release notes of version 10.02 here:
>
> "So why do we address so many different kernels instead of focusing our
> efforts to one selected platform? Our observation is that different
> applications pose different requirements on the kernel. Most kernels
> have a specific profile with regard to security, hardware support,
> complexity, scheduling, resource management, and licensing that may make
> them fit well for one application area but not perfectly suited for a
> different use case. There is no single perfect kernel and there doesn't
> need to be one. By using Genode, applications developed for one kernel
> can be ported to all the other supported platforms with a simple
> recompile. We believe that making Genode available on a new kernel is
> beneficial for the kernel developers, application developers, and users
> alike. For kernel developers, Genode brings additional workloads to
> stress-test their kernel, and it extends the application area of the
> kernel.  Application developers can address several kernel platforms at
> once instead of tying their programs to one particular platform.
> Finally, users and system integrators can pick their kernel of choice
> for the problem at hand. Broadening the platform support for Genode
> helps to make the framework more relevant."
>
> > I can understand why it might be used with NOVA, which is a
> > microhypervisor and thus Genode could run as a user-land OS in a VM, but
> > I do not see why Genode would need to be compiled against the other
> > base-platforms like Linux, Fiasco, ....
>
> The NOVA kernel alone is not able to run meaningful applications or
> virtual machines on top. As Markus already pointed out, Genode is used
> as the glue between the naked NOVA kernel interface and user-level
> applications. A virtual-machine monitor is just an example for such an
> application. Genode supplements the kernel with device drivers, protocol
> stacks (think of TCP/IP, graphics, C runtime), and resource management.
>
> The Linux kernel is supported because this base platform enables us to
> use all the powerful debugging tools on Linux when developing components
> and interfaces. In fact, most of Genode's development (except for device
> drivers or rare kernel-specific components) is carried out on Linux. The
> resulting software just happens to run fine on other kernels too. The
> motivation behind supporting the others kernels largely differs. For
> example, L4/Fiasco is supported for sentimental reasons, and we still
> use it once in a while to leverage the kernel debugger. Fiasco.OC is
> supported to let Genode benefit from its good support for a variety of
> ARM platforms.
>
> Finally, the support for different kernel interfaces stresses Genode's
> design and implementation quality. We have to carefully design
> abstractions that work robustly with vastly different base mechanisms.
> When designing such interfaces, the need to satisfy multiple kernels
> rules out ad-hoc solutions pretty reliably. A clean (but often
> non-obvious) design has a much better chance to pass this test. For the
> implementation, we often made the experience that the different
> behaviours of the kernels expose potential problems in the generic code
> early on. For example, race conditions inherently depend on the kernel's
> scheduling. So on some kernels, such bugs would go unnoticed for a long
> time - but they are lurking there. However, exposing the same software
> to other kernels with different schedulers greatly increases the
> likelihood for triggering such problems, so the problems can be fixed.
>
>
I can see that Genode is coming along nicely and I really like what I have
seen, not to mention the better security afforded by the microkernel
approach. My understanding, though, is that microkernels do not scale well,
at least from the small amount of research I have done on them.

My current interest is in clusters since in my day-job, I work as a
scientist at a national institute of standards and technology where we do a
lot over computer modeling via various clusters software, namely Linux
Rocks clustering software at the moment, but I do not particularly like the
way that this has to be accomplished via MPI and the like which is why I am
investigating NOVA and Genode as a possible starting point for a cluster
idea that I have in mind which could be better than existing Linux systems
although still a long term project as well.

I could see Genode developing well towards clustering solutions as it does
have many attractive aspects thus far.

It would be nice to see a demo of the latest Genode and perhaps as simple
install system so that it can be installed easily on to real harddisks or
perhaps in virtualbox VM for further testing and developing.

As for now, I am just basically getting familiar with the code before
seeing how I can move towards the clustering or general distribution goals.

Thanks for you wonderful and in-depth answers to my inquiries.

Keep up the great work and I hope to be able to contribute to the efforts
soon.

Best Regards my friends,
Lonnie


Best regards
> 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
>
>
> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT
> organizations don't have a clear picture of how application performance
> affects their revenue. With AppDynamics, you get 100% visibility into your
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics
> Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
> _______________________________________________
> Genode-main mailing list
> Genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20131215/95941188/attachment.html>


More information about the users mailing list