Survey							
                            
		                
		                * Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
A Brief Introduction To Virtualization Technologies Yin Yunqiao [email protected] 2007-08-31 HP Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources.  Platform virtualization  Resource virtualization Platform Virtualization Emulation or simulation Native virtualization and full virtualization Hardware enabled virtualization Partial virtualization Paravirtualization Operating system-level virtualization Application Virtualization Emulation or simulation   allowing an unmodified "guest" OS for a completely different CPU to be run. Examples:  Bochs  PearPC  VirtualPC  QEMU(without acceleration) Native and Full Virtualization   the virtual machine simulates enough hardware to allow an unmodified "guest" OS (one designed for the same CPU) to be run in isolation. Examples:  VirtualBox  Virtual PC  Vmware  QEMU  Win4Lin  XEN/Virtual Iron Hardware enabled virtualization  the virtual machine has its own hardware and allows a guest OS to be run in isolation.  Intel VT (IVT)  AMD virtualization (AMD-V)  Examples:  VMware Fusion  Parallels Desktop for Mac  Parallels Workstation Partial virtualization  the virtual machine simulates multiple instances of much (but not all) of an underlying hardware environment, particularly address spaces. Paravirtualization    the virtual machine does not necessarily simulate hardware, but instead (or in addition) offers a special API that can only be used by modifying the "guest" OS. Terminologies  Hypervisor, hypercall  Enomalism Examples:  XEN, KVM, Win4Lin 9x Operating system-level virtualization   virtualizing a physical server at the operating system level, enabling multiple isolated and secure virtualized servers to run on a single physical server. Examples:  Parallels Workstation  Linux-VServer, Virtuozzo  OpenVZ, Solaris Containers  FreeBSD Jails  Chroot ? Application Virtualization    typically for the purpose allowing application binaries to be portably run on many different computer architectures and operating systems. http://en.wikipedia.org/wiki/Comparison_of_Appl ication_Virtual_Machines Examples:  .NET CLR  JVM  Script Languages:Python,Ruby,Javascript... Resource Virtualization RAID SAN Channel bondings VPN/NAT Multiprocessor and multi-core Cluster and Grid computing Partitioning Virtualization Under Linux(1) UML (User Mode Linux) http://user-mode-linux.sourceforge.net/ KVM (Kernal-based Virtual Machine)  From Linux-2.6.20  http://kvm.qumranet.com/kvmwiki XEN  http://xen.xensource.com/ Virtualization Under Linux(2)  QEMU   http://fabrice.bellard.free.fr/qemu/ QEMU Accelerators  KQEMU  QVM86  VirtualBox (released in January 2007)  KVM with QEMU Virtualization Under Linux(3)   Bochs (GPLed, very slow)  A portable x86 and AMD64 PCs emulator mostly written in C++ and distributed as free software under GPL.  http://bochs.sourceforge.net/ VirtualBox(commercial&open source, fast)   http://www.virtualbox.org/ VMWare (Workstation,Server,Player) Virtualization Under Linux(4)   SWSOFT Virtualizations  http://www.swsoft.com  http://www.parallels.com/  http://openvz.org/ Linux-VServer   http://linux-vserver.org/ Compare with:  FreeBSD Jail  Solaris Containers (Zones) Linux Virtualization in Windows(1)  VMWare  Virtual PC  VirtualBox  Bochs  QEMU Linux Virtualization in Windows(2)   CoLinux Cooperative Linux http://www.colinux.org/ Topologilinux http://www.topologilinux.com Linux Virtualization in Windows(3)  MinGW Minimalist GNU for Windows  Cygwin  GNUWIN32  GNUWINII  UnxUtils  UWIN  SFU Microsoft Windows Services for UNIX,aka Interix Comparison of virtual machines  http://en.wikipedia.org/wiki/Comparison_of_virtu al_machines History of virtualization development  1965 IBM M44/44X paging system 2005 Intel VT  1965 IBM System/360-67 virtual memory hardware 2006 AMD VT  1967 IBM CP-40 (January) and CP-67 (April) time-sharing 2005 XEN  1972 IBM VM/370 run VM under VM 2006 VMWare Server  1997 Connectix First version of Virtual PC 2006 Virtual PC 2006  1998 VMWare U.S. Patent 6,397,242 2006 HP IVM Version 2.0  1999 VMware Virtual Platform for the Intel IA-32 2006 Virtual Iron 3.1 architecture  2000 IBM z/VM  2001 Connectix Virtual PC for Windows  2003 Microsoft acquired Connectix  2003 EMC acquired Vmware  2003 VERITAS acquired Ejascent  2005 HP Integrity Virtual Machines 2007 InnoTek VirtualBox 2007 KVM in Linux Kernel 2007 XEN in Linux Kernel References  Wikipedia for any virtualization Terminologies  Virtual Linux:An overview of virtualization methods, architectures, and implementations http://www-128.ibm.com/developerworks/linux/library/l-linuxvirt/ Questions Q&A