On Tue, Jan 12, 2016 at 04:32:20PM +0100, Reto Buerki wrote:
- Distributed Genode
Having a complete Genode system running in one Muen subject does not bring much benefit as it does not leverage the isolation properties provided by the SK. Therefore we intend to add support for executing multiple Genode subjects as a distributed environment while providing inter-subject communication channels. In order for the Genode instances to exchange data, the concept of so-called Proxy components as suggested by the Genode developers will be applied.
The proxy concept uses two components: a server and a client. Both of them implement a specific Genode service interface and communicate using a Virual Hardware (VHW) abstraction layer to create a bridge between the separated components. The following diagram illustrates the concept for the Log service:
log() -> Proxy:Client -> | VHW | -> Proxy:Server -> Log_Server
For Muen, we will implement the VHW functionality using shared memory channels and events.
This seems like a really interesting idea, and something I've thought about for a while. Could you elaborate a little more on what you think the VHW functionality might entail? Is it specific to the kernel?
I somewhat imagine a Genode system running over a network with different kernels per-device, so in that scenario it'd be a network VHW.
On another note, this is some really great work being done, I'm excited to see what comes of it- Perhaps the next Qubes OS for x86_64.
Cheers
- reto
Cheers, Jookia.