The idea behind MiXen is merging some of the concepts of
To that extent, MiXen currently uses an unmodified Xen kernel.
However, it tries to isolate the device drivers
from the Dom0 kernel and run them in separate domains.
While this has been done before with so-called driver domains,
which being full fledged OSs only used for the device
with MiXen the driver domain
only has enough stuff to execute one driver.
all of a MiXen driver domain runs in one virtual address space
with next to no change in its layout.
The only time any mapping changes is
when mapping foreign pages into the MiXen domain.
The goal is for the application domains using such a driver
to be able to detect a crash of a driver domain
and recover from it, as Xen restarts the crashed domain.
The Dom0 kernel will only have a small
ramdisk with the utilities to set up the other
domains, that is, it will not provide driver service
to the other domains.
In the long run, more parts will be
extracted from the OS and be put in their own
domains, like e.g. the network stack or the
MiXen is currently at version 0.3.
It implements a ramdisk,
which can initially be either empty
or preloaded with some image file
(e.g. an installation CD image).