350 likes | 605 Views
Operating System Virtualization. Adam Nofsinger. OS Virtualization. What is it? Brief History Why use it? Virtualization Software Shortcomings Future Tech. Virtualization. Definition:
E N D
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
Guest OS Guest OS Guest OS Virtual Layer Host OS Hardware Virtualization • OS Virtualization (Virtual Machines) • Separate OS from Physical Hardware • Host OS Guest OS
Virtualization Techniques • How does Guest OS get to Hardware? Guest OS Virtual Layer Host OS Hardware Processor – Memory – NIC – Disk
Virtualization Techniques • Virtual Monitor • Qemu, Vmware Player, Microsoft Virtual PC • Sometimes called Emulation, e.g. x86 Emulation Guest OS Guest OS Guest OS Virtual Monitor Host OS Hardware
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) Guest OS (Modified) Virtual Monitor Host OS Hardware
One Slide History • 1960s • IBM’s 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
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
Why OS Virtualization? • Isolation • Virtual Machine from Host OS / Other VMs • Safe for “untrusted” applications. • Partitioning of Services • Server Environment more stable. • Some Applications don’t play w/ Others • Encapsulation • One VM One File/Folder on Disk • Typically easy to migrate.
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
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.
Virtualization Software • Vmware • Server • Player • Workstation • ESX Server • Qemu • Xen • Microsoft Virtual PC/Server • Connectix
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
Vmware Player • Demo Time!
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
Vmware ESX Server • Intended for Enterprise-Level Servers • Partitioning • Hypervisor • Runs on “Bare Metal” (Hardware Layer) • Live Migration
QEMU • Demo Time!
Xen • Open-Source, Linux • Para-Virtualization • Very Fast • Have to use Modified Guest OS • Kernel Modifications • Windows? • Live Migration
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)
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/
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
General Shortcomings • Intel IA-32 Virtualization Problems • More on this in a bit (Vanderpool) • Some Hardware not supported • USB (Sometimes) • 3D Graphics Cards • Etc.
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 OS Virtual Layer Virtual CPU Virtual CPU Virtual CPU
Future Tech • AMD VT (aka “Pacifica”) • Similar to Intel • Additions to x86 Architecture to better support VMs 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]