Quoting from TechTarget
Sit tight, Linux Users. User Mode Linux will soon have the same capabilities as Xen in the virtualization arena -- like live migration, says Jeff Dike, author of User Mode Linux. Operating out of the Linux kernel port, UML enables the port to host multiple virtual operating systems.
Speaking with SearchOpenSource.com, Dike described the pros and cons of virtual machines versus virtual operating systems and offers some advice on whether to opt for UML, Xen or VMware.
SearchOpenSource.com: You mentioned that User Mode Linux differs from other virtualization technologies because it's more of a virtual operating system than a virtual machine. How does a virtual operating system compare with a virtual machine?
Jeff Dike: A virtual operating system has greater contact with the host operating system. This allows interactions between guest and host, which would be difficult or impossible with a virtual machine. For example, UML has two file systems [with somewhat different properties], which allow a host directory to be mounted as a UML file system.
I also have a little project under way that allows a UML file system to be mounted on the host. This allows some UML management tasks, such as password resets and process monitoring, to be done on the host without needing access to the UML.
It uses a standard mechanism, FUSE, which allows file systems to be implemented by user-space drivers. In this case, the user-space driver is embedded inside UML. A virtual machine might find this difficult since it would have to implement the entire mechanism itself rather than relying on something which already exists.
SearchOpenSource.com: How does a virtual operating system offer advantages in performance?
Dike: The increased interaction of the virtual operating system with the host has the potential for better performance than might otherwise be possible. However, this is currently unrealized due to UML not being as well-tuned as it should be and because Linux does not provide mechanisms to support guests as well as it could.
These are both changing, with performance improvements going into User Mode Linux and a recently started project to add virtualization support to the kernel. This has great potential for improving UML performance and is something that a virtual operating system could take advantage of but a virtual machine couldn't.
SearchOpenSource.com: What are the differences in hardware requirements between virtual machines and virtual operating systems?
Dike: There is no general answer to the question. The comparative hardware requirements of the virtualization technologies depend on their implementation and the resource-saving features that they have. The end goal, regardless of the underlying technology, is basically the same. Therefore, hardware requirements will be similar. The differences that exist are probably related to implementation details and usage patterns.
For example, if one technology allocates its 'physical' memory on the host on demand [as UML does] and another allocates it up front, then the latter will usually have higher memory requirements. However, as they continue to run, the memory requirements of the two will converge as the former allocates host memory up to its physical memory limit.
Another example is disk space. When booting multiple virtual machines from the same file system, each virtual machine is required to give its own private copy, which wastes disk space and memory. Providing a capability such as UML COW files allows all virtual machines to share the parts of the file system that don't change and only have private copies of changed data.
SearchOpenSource.com: How is running out of a real Linux kernel port superior to other virtualization options like Xen, VMware, Windows Virtual Server?
Dike: The fact that User Mode Linux is in the standard kernel.org kernel doesn't make too much of a practical difference to the average user. It is seen by some as a stamp of approval of sorts, which gives UML some credibility that it otherwise would not have.
Being in the mainline kernel tree means that UML is automatically updated and fixed as other maintainers make changes and fixes across the entire kernel pool. The fact that it's a kernel port brings the advantages of being a virtual operating system that I talk about elsewhere -- simplicity, manageability and extra functionality.
Read the rest of the interview, here.