OK, finally I had to dig into it by myself..
The "virtualization technology" used is just chroot.
The system can be chosen from the menu during boot. Each one has its own read-only
squashfs image (including the kernel image and modules, all are the same version) and read-write
aufs overlay on the separate directory on the disk.
Only one of the sytems, however, the primary OS - AI OS (Alwaysinnovating OS, derivative of Ångström distribution), has the ability to launch/switch-into another one. It can be done from "AI Multiple OS" menu, which is a simple Qt app, just an interface launching several shell scripts. Inspecting them reveals, that starting another system is just preparation of system's chroot directory, mountig its suqashfs image and aufs directory there, binding (
mount --bind) necessary system dirs (like
/proc, ..) and chrooting into it. For example, the Ubuntu system is launched creating its chroot structure, pasting an initialization script into it (which contains launching of services like like
hal, ... ended by running
Xsession). Then, another X11 server is launched with a specific display number (
:2 in this case) is launched with
xinit. Finally, it's chrooted in with the mentioned initialization script.
So those systems launched from the primary AI OS are just their chrooted environments running on top of the AI OS - it's different from when it was running by itself, selected during the boot.
Now, switching between the running systems (by multios menu app in AI OS, or by using the onboard hardware button) is just switching between systems' X11 virtual terminals (found by processing
ps avx output) with
chvt. Stopping the system is just killing all corresponding chroot processes (all base system's processes, whose
/proc/$PID/root is matching the "virtual" system's chroot dir).
..hope I got it right, I was not in fact running the system, just inspecting the image and some source.
some reference links: