Hello Genode Community!
I'm Pramod, a student in Computer Engineering. As a project assignment, we were asked to search for new developments in software/hardware used for embedded applications and do a presentation on it to the class. I was searching for a topic when I stumbled upon Genode.
I read through some of the documentation and I think I do understand a little bit. But I still have some confusion about it. Therefore I decided to contact you for help. Here are few questions I have to raise:
Genode is an OS framework. It is not an OS on it's own accord but could just supply a bare minimum kernel functionality for some OS you would develop. Am I correct here? Please correct me if I'm wrong, but as far as I understood, other microkernels such as L4 do a similar thing. How is Genode different?
Also, can you run a mainstream OS such as Ubuntu on top of Genode with or without modifications ?
Genode can also run virtually on top of another OS and the developers run it this way for development purposes. Is this correct?
And the most importantly, what tasks Genode good for ? And what is it not suitable for?
Please understand that I'm just starting on learning OSes. So please bear with my dumb questions.
Thank you, Regards, Pramod
Hi Pramod,
welcome to the list!
On 02/25/2016 04:41 AM, Pramod Herath wrote:
Hello Genode Community!
I'm Pramod, a student in Computer Engineering. As a project assignment, we were asked to search for new developments in software/hardware used for embedded applications and do a presentation on it to the class. I was searching for a topic when I stumbled upon Genode.
I read through some of the documentation and I think I do understand a little bit. But I still have some confusion about it. Therefore I decided to contact you for help. Here are few questions I have to raise:
Genode is an OS framework. It is not an OS on it's own accord but could just supply a bare minimum kernel functionality for some OS you would develop. Am I correct here? Please correct me if I'm wrong, but as far as I understood, other microkernels such as L4 do a similar thing. How is Genode different?
Well, that is not fully appropriate. Although, Genode claims to be no OS, but an OS framework, it provides much more than a L4-like kernel API. "Genode is no OS" means it is not an Ubuntu-like or Windows-like OS, or special-purpose network router OS, Android OS, but it is a box full of components (like Lego bricks) that can be combined to form all of these kinds of "special purpose" OSes for Desktop PCs, embedded devices, or servers. So it aims to build the foundation for different flavors of Genode OSes. Thereby it makes also use of a lot of existing open-source software (among others: different L4-like kernels), but it defines how these software components interact, their dependencies and trust-relations etc.. In contrast to past microkernel research Genode focuses not solely on the kernel component, but concerns the userland too.
Also, can you run a mainstream OS such as Ubuntu on top of Genode with or without modifications ?
You can run an unmodified version of Ubuntu using hardware virtualization support and a virtual-machine-monitor implementation like VirtualBox directly on top of Genode. Moreover, you can use different, simple Unix applications directly on top of Genode using the noux (unix like environment) server.
Genode can also run virtually on top of another OS and the developers run it this way for development purposes. Is this correct?
Of course it can run inside a virtual environment, but what you are refering to is Genode's port to Linux I assume. As already mentioned, Genode comprises a bunch of components including more than one kernel. Currently, Genode supports about 8 different kernels. Most of them are microkernels in the tradition of L4, like NOVA, Fiasco.OC and sel4. But it also runs directly on top of the Linux kernel, which was targeted to ease development of new components, as most developers worked on top of Linux until now.
And the most importantly, what tasks Genode good for ? And what is it not suitable for?
The aim of Genode is to build a very flexible foundation that enables all different kinds of computing. Of course, its origins are clearly security focussed, and we aim to build a system architecture always with security in mind. But we always try to think of very different use-cases and environments. That's why our experiments, example scenarios and hardware platforms varied in the past.
Please understand that I'm just starting on learning OSes. So please bear with my dumb questions.
I hope I could partly clarify your questions. Feel free to ask further questions on the mailing-list. But before, I recommend warmly to you to look into the Genode foundation book, as it explains your questions in more detail:
http://genode.org/documentation/genode-foundations-15-05.pdf
Best Regards Stefan
Thank you, Regards, Pramod
Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Thank you for your reply.
Regards Pramod
On Thu, Feb 25, 2016 at 5:04 AM, Stefan Kalkowski < stefan.kalkowski@...1...> wrote:
Hi Pramod,
welcome to the list!
On 02/25/2016 04:41 AM, Pramod Herath wrote:
Hello Genode Community!
I'm Pramod, a student in Computer Engineering. As a project assignment,
we
were asked to search for new developments in software/hardware used for embedded applications and do a presentation on it to the class. I was searching for a topic when I stumbled upon Genode.
I read through some of the documentation and I think I do understand a little bit. But I still have some confusion about it. Therefore I decided to contact you for help. Here are few questions I have to raise:
Genode is an OS framework. It is not an OS on it's own accord but could just supply a bare minimum kernel functionality for some OS you would develop. Am I correct here? Please correct me if I'm wrong, but as far
as I
understood, other microkernels such as L4 do a similar thing. How is
Genode
different?
Well, that is not fully appropriate. Although, Genode claims to be no OS, but an OS framework, it provides much more than a L4-like kernel API. "Genode is no OS" means it is not an Ubuntu-like or Windows-like OS, or special-purpose network router OS, Android OS, but it is a box full of components (like Lego bricks) that can be combined to form all of these kinds of "special purpose" OSes for Desktop PCs, embedded devices, or servers. So it aims to build the foundation for different flavors of Genode OSes. Thereby it makes also use of a lot of existing open-source software (among others: different L4-like kernels), but it defines how these software components interact, their dependencies and trust-relations etc.. In contrast to past microkernel research Genode focuses not solely on the kernel component, but concerns the userland too.
Also, can you run a mainstream OS such as Ubuntu on top of Genode with or without modifications ?
You can run an unmodified version of Ubuntu using hardware virtualization support and a virtual-machine-monitor implementation like VirtualBox directly on top of Genode. Moreover, you can use different, simple Unix applications directly on top of Genode using the noux (unix like environment) server.
Genode can also run virtually on top of another OS and the developers run it this way for development purposes. Is this correct?
Of course it can run inside a virtual environment, but what you are refering to is Genode's port to Linux I assume. As already mentioned, Genode comprises a bunch of components including more than one kernel. Currently, Genode supports about 8 different kernels. Most of them are microkernels in the tradition of L4, like NOVA, Fiasco.OC and sel4. But it also runs directly on top of the Linux kernel, which was targeted to ease development of new components, as most developers worked on top of Linux until now.
And the most importantly, what tasks Genode good for ? And what is it not suitable for?
The aim of Genode is to build a very flexible foundation that enables all different kinds of computing. Of course, its origins are clearly security focussed, and we aim to build a system architecture always with security in mind. But we always try to think of very different use-cases and environments. That's why our experiments, example scenarios and hardware platforms varied in the past.
Please understand that I'm just starting on learning OSes. So please bear with my dumb questions.
I hope I could partly clarify your questions. Feel free to ask further questions on the mailing-list. But before, I recommend warmly to you to look into the Genode foundation book, as it explains your questions in more detail:
http://genode.org/documentation/genode-foundations-15-05.pdf
Best Regards Stefan
Thank you, Regards, Pramod
Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
-- Stefan Kalkowski Genode Labs
http://www.genode-labs.com/ · http://genode.org/
Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main