An Introduction to Virtualization
JamieX writes "kernelthread.com brings you a very cool and instructional article in An Introduction to Virtualization... The piece talks about the history of VM's, why they are becoming important again, implementation issues and most of all a look at a large number of virtualization solutions for all kinds of operating systems... many of them barely known... essentially more than you want to know about virtualization on a single page! Great read and reference."
The problem comes down to the sucky IA-32 architecture which is hard to virtualize. Take a privileged mode instruction on a proper architecture, and it will trap allowing it to be emulated. Some IA-32 instructions do not trap but return different mode-dependent results. A nightmare.
For me what is interesting are domains, giving a very fine level of VMs to CPU allocation. A CPU may be reserved for a single VM or be shared by many, in turn many CPUs can be devoted to a single VM This gives very fine resource control and is what you get now on heavy iron such as the IBM Z-series or the big Sun machines.
This is why I follow the Xen project with some interest. Xen needs mods to the host OS to get around the shortcomings of the IA-32, but they are minor and well defined (replacement of some macros). It isn't there now, but maybe if they get enough people working on it, it could be very interesting indeed.