Вы находитесь на странице: 1из 22

A Brief Introduction To Virtualization

Technologies
Yin Yunqiao
yunqiao.yin@hp.com

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)
VMWare
Virtual PC
VirtualBox
Bochs
QEMU

Linux Virtualization in Windows(1)

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
1965 IBM System/360-67 virtual memory hardware
1967 IBM CP-40 (January) and CP-67 (April) time-sharing
1972 IBM VM/370 run VM under VM
1997 Connectix First version of Virtual PC
1998 VMWare U.S. Patent 6,397,242
1999 VMware Virtual Platform for the Intel IA-32
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
2005 Intel VT
2006 AMD VT
2005 XEN
2006 VMWare Server
2006 Virtual PC 2006
2006 HP IVM Version 2.0
2006 Virtual Iron 3.1
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