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