A Brief Introduction To Virtualization Technologies Yin
22 Slides327.50 KB
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 App lication 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 virtual 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