You are on page 1of 35

Operating System Virtualization

Adam Nofsinger

OS Virtualization
What is it? Brief History Why use it? Virtualization Software Shortcomings Future Tech

Virtualization
Definition:
Broadly describes the (beneficial) separation of a resource or service from the typical physical means of providing it.
Examples:
Virtual Memory Virtual Private Networks Java Virtual Machine

Virtualization
OS Virtualization (Virtual Machines)
Separate OS from Physical Hardware Host OS Guest OS
Guest OS Guest OS Virtual Layer Host OS Hardware Guest OS

Virtualization Techniques
How does Guest OS get to Hardware?
Guest OS
Virtual Layer Host OS

Hardware Processor Memory NIC Disk 5

Virtualization Techniques
Virtual Monitor
Qemu, Vmware Player, Microsoft Virtual PC Sometimes called Emulation, e.g. x86 Emulation
Guest OS Guest OS Virtual Monitor Host OS Hardware Guest OS

Virtualization Techniques
Hypervisor
Vmware ESX Server, Parallels*

OS

OS

OS

Hypervisor Software Hardware

Virtualization Techniques
Para-Virtualization
Xen, Vmware Tools*

Guest OS (Modified)

Guest OS (Modified) Virtual Monitor Host OS Hardware

Guest OS (Modified)

One Slide History


1960s
IBMs Mainframe Computers (e.g. IBM S/360)
Compatible Time Sharing System (CTSS)

1980s
Desktop PC Virtualization on Backburner

1990s - Present
IA-32 Server Hardware High Profit Market Virtualization Increased Hardware value. Vmware Introduces Workstation
9

Why OS Virtualization?
Multi-Platform Testing
Only need one set of Hardware
Resource saver on purchases (time/money) Can cut setup time

Emulated Hardware
Same Hardware on All Test Environments Hardware Simulation Limited Resource Environments
10

Why OS Virtualization?
Isolation
Virtual Machine from Host OS / Other VMs Safe for untrusted applications. Partitioning of Services
Server Environment more stable. Some Applications dont play w/ Others

Encapsulation
One VM One File/Folder on Disk Typically easy to migrate.
11

Why OS Virtualization?
OS Debugging
Crash on Developing OS do not (typically) affect Host OS. Debug
Memory dumps CPU Registers Serial / Parallel Port dumps

Multiple OS Instances Simultaneously


Infrastructure Testing
Win 98 Linux OpenBSD Win 2K
12

Why OS Virtualization?
Legacy Applications Server Application Virtualization Testing
Some application commonly on VMs

Portability Requirements Lessen


Down with Host OS!

Virtualization is Fun!
Gain Experience with new OS. Help a business transition to Open-Source.
13

Virtualization Software
Vmware
Server Player Workstation ESX Server

Qemu Xen Microsoft Virtual PC/Server


Connectix
14

Vmware Server
Currently Free! (But Geared toward Server) Unique Features vs. Workstation
Remote Administration
Consoles Web Interface

VMs can Run as Service

Slow to Administrate
Especially GUI style (e.g. X, Windows)

Can make VMs for Vmware Player


15

http://www.vmware.com/products/server

16

http://www.vmware.com/products/server

17

http://www.vmware.com/products/server

18

http://www.vmware.com/products/server

19

http://www.vmware.com/products/server

20

http://www.vmware.com/products/server

21

http://www.vmware.com/products/server

22

Vmware Player
Demo Time!

23

Vmware WorkStation
Geared more toward Software Developers Features vs. Vmware Server
Multiple Snapshots Cloning Movie Recording Teams & VPNs

$200/license
http://www.vmware.com/img/ws5_large4.png

24

http://www.vmware.com/img/ws5_large3.png

25

Vmware ESX Server


Intended for Enterprise-Level Servers
Partitioning

Hypervisor
Runs on Bare Metal (Hardware Layer)

Live Migration

26

QEMU
Demo Time!

27

Xen
Open-Source, Linux Para-Virtualization
Very Fast Have to use Modified Guest OS
Kernel Modifications Windows?

Live Migration

28

Microsoft Virtual PC / Server


The VM Software Formerly Known as Connectix Virtual PC Runs on x86 or Power PC Architecture

PC: $130 Server: $100 - $200 (#of processor)


29

Other Offerings
Bochs IA-32 Emulator http://bochs.sourceforge.net/ Linux-VServer http://linux-vserver.org/ Virtuozzo => Server Virtualization, $200 - $4000+ http://www.swsoft.com/en/products/virtuozzo/ OpenVZ => Open Source Virtuozzo http://openvz.org/ Parallels Workstation 2.0 => Hypervisor-Powered, $49 / license http://www.parallels.com/ TRANGO RTOS Hypervisor, ARM, MIPS, PowerPC, etc. http://www.trango-systems.com/

30

General Shortcomings
Virtual Machine cannot represent real scenario 100% accurately.
Especially true with Para-Virtualization. Most situations close enough.

Guest OS Hardware Requirements.


Host needs more RAM, HD Space, etc.
Sometimes just to operate

31

General Shortcomings
Intel IA-32 Virtualization Problems
More on this in a bit (Vanderpool)

Some Hardware not supported


USB (Sometimes) 3D Graphics Cards Etc.

32

Future Tech
Intel VT (aka Vanderpool)
Virtual Machine Extensions (VMX)
10 new virtualization specific instructions VMXON, VMXOFF VMLAUNCH, VMRESUME

BIOS / VMM application in the works


OS OS Virtual Layer Virtual CPU Virtual CPU Virtual CPU 33 OS

Future Tech
AMD VT (aka Pacifica)
Similar to Intel
Additions to x86 Architecture to better support VMs

34
http://enterprise.amd.com/Downloads/Pacifica_en.pdf

References
Amit Sing, An Introduction to Virtualization http://www.kernelthread.com/publications/virtualization/ Vmware, Virtualization Overview http://www.vmware.com/virtualization/ Vmware, Virtualization White Paper http://www.vmware.com/pdf/virtualization.pdf [pdf] Cambridge University Systems Research Group, Xen Website http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ Microsoft, Virtual PC Website http://www.microsoft.com/windows/virtualpc/default.mspx Bochs Website http://bochs.sourceforge.net/ Gabriel Torres, Intel Virtualization Technology (VT) Explained http://www.hardwaresecrets.com/printpage/263 AMD, Pacifica Virtualization Technology http://enterprise.amd.com/Downloads/Pacifica_en.pdf [pdf]

35