3 ms·
Unikernel frameworks like Mirage either provide all those features, or in the case of drivers, are just targeting virtio/veth/etc. paravirtualized devices offer
by csirac2 11y ago
Unikernel frameworks like Mirage either provide all those features, or in the case of drivers, are just targeting virtio/veth/etc. paravirtualized devices offered by the hypervisor. So the domU doesn't have any abstraction to worry about other than just targeting a particular Hypervisor's representation of storage and networking.
Xen provides very basic (but safe) message/event channels between VMs. Basically this becomes your IPC, and the VMs become user processes.
With a new enough CPU with the correct memory virtualization features, xen can scale to many thousands of domUs. And with each domU only taking up slightly more resources than a typical user process, this is a completely reasonable approach.
Again, your Hypervisor becomes the OS which has to worry about the baremetal, and the VMs replace user processes.
I intend to playing with MirageOS seriously myself next year.
Edit: some dependencies in an example MirageOS app: https://mirage.io/wiki/technical-background#ModularOSLibraries https://mirage.io/wiki/technical-background#ModularOSLibrari...