Lecture 11: Virtualization, Grids and AppPot
- ?Slides for Lecture 11 (PDF)(lecture11.pdf)
References and further reading
G. J. Popek and R. P. Goldberg (1974): Formal Requirements for Virtualizable Third Generation Architectures, Communications of the ACM 17 (7): 412--421. doi:10.1145/361011.361073.
A short account can be found in the Wikipedia entry Popek_and_Goldberg_virtualization_requirements.
O. Agesen (2010?): Software and Hardware Techniques for x86 Virtualization, http://www.vmware.com/files/pdf/software_hardware_tech_x86_virt.pdf
A brief non-technical survey of software and hardware virtualization techniques for 32- and 64-bit x86 CPUs, as used in VMware ESX.
J. E. Smith and R. Uhlig (2005): Virtual Machines: Architectures, Implementations and Applications, HOTCHIPS 17, Tutorial 1, part 2
Excellent presentation on the problems of OS virtualization on the x86 architecture and how they are solved by hardware-assisted techniques.
K. Adams and O. Agesen (2006): A comparison of software and hardware techniques for x86 virtualization in ASPLOS‐XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systems (San Jose, California, USA, 2006), ACM, pp. 2‐13. http://www.vmware.com/pdf/asplos235_adams.pdf
A comparison of different virtualization techniques, with a readable explanation of the "binary translation" method used by VMware on x86 CPUs without HW-assisted virtualization.
The performance comparison part has, of course, only historical interest now.
Saidalavi K., Dileep P. G., Krishanu S., Sreejith B. S., Vinaya S., Ezudheen P. (2009): Implementation of a Purely Hardware-assisted VMM for x86 Architecture Proceedings of the World Congress on Engineering 2009 Vol I WCE 2009, July 1-3, 2009, London, U.K.
A description of how to implement a virtual machine hypervisor using the AMD-V hardware-assisted virtualization.
Amit Singh (2004): Introduction to Virtualization, http://www.kernelthread.com/publications/virtualization/
History of early virtualization efforts and an explanation of the problems underlying virtualization. A bit dated so do not rely on it for current technology overview.