1 / 32

Hypervisor, Virtualization Stack, And Device Virtualization Architectures

Hypervisor, Virtualization Stack, And Device Virtualization Architectures. Mike Neil Product Unit Manager Windows Virtualization Microsoft Corporation. Agenda. Architecture introduction Hypervisor architecture Device virtualization architecture Virtualization stack architecture Summary.

maj
Télécharger la présentation

Hypervisor, Virtualization Stack, And Device Virtualization Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hypervisor, Virtualization Stack, And Device Virtualization Architectures Mike NeilProduct Unit ManagerWindows VirtualizationMicrosoft Corporation

  2. Agenda • Architecture introduction • Hypervisor architecture • Device virtualization architecture • Virtualization stack architecture • Summary

  3. Virtualization Stack Provided by: Windows Windows Virtualization VM WorkerProcesses WMI Provider VMService ISV OEM WindowsKernel WindowsKernel VirtualizationServiceProviders(VSPs) Server Core IHVDrivers Windows hypervisor VirtualizationServiceClients(VSCs) Enlightenments VMBus Windows Virtualization Architecture Parent Partition Child Partitions Applications User Mode Kernel Mode “Designed for Windows” Server Hardware

  4. Agenda • Architecture introduction • Hypervisor architecture • Device virtualization architecture • Virtualization stack architecture • Summary

  5. Parent Partition Child Partition Child Partition Apps Apps Apps ServerCore OS 1 OS 2 Windows hypervisor Hardware Hypervisor Design Goals • Strong Isolation • Security • Performance • Virtualization support …and … • Simplicity • Restrict activities to monitoringand enforcing • Where possible, push policy up

  6. Parent Partition Child Partition Child Partition Apps Apps Apps ServerCore OS 1 OS 2 Windows hypervisor Hardware Physical Hardware • The hypervisor restricts itself to managing a minimum set of hardware • Processors • Local APICs • Constant-ratesystem counter • System physicaladdress space • Focus is on scheduling and isolation

  7. Parent Partition Child Partition Child Partition Apps Apps Apps ServerCore OS 1 OS 2 Windows hypervisor Hardware Physical Hardware • In Windows virtualization, the parent partition manages the rest • IHV drivers • Processor power management • Device hot add and removal • New drivers are not required

  8. HypercallsLow level API • Guests communicate with the hypervisor via hypercalls • Hypervisor equivalent of a syscall • Detected via CPUID • Configured via MSR • Simple format • One input page, one output page • Specify pages by physical address,then jump to known address

  9. Windows 2000 and later WindowsServer Core WMI Provider VirtualizationStack VmBus.sys VmBus.sys WinHv.sys WinHv.sys Windows hypervisor Hardware HypercallsHigh level APIs • Higher level abstractions are available in Windowspartitions • WinHv.sys providesa C language wrapper • VMBus.sys providescross-partition communication services • Virtualization stack provides WMI interfaces for configuring children

  10. Bm Dispatch Manager Dm Hypercall Handlers Hc Partition Manager Pt Im Ic VirtualizationSystem SynIC Address Manager Am Vp Virtual Processor Val Rme Vm Layered Hypervisor Architecture Scheduler / Threads Th Sch Ti Memory Manager Mm HypervisorKernel Ke Tr Dbg CPU Management Hal St Cpu Rtl Hk

  11. Agenda • Architecture introduction • Hypervisor architecture • Device virtualization architecture • Virtualization stack architecture • Summary

  12. Device Virtualization Definitions • Virtual Device (VDev) • A software module that provides a point of configuration and control over an I/O path for a partition • Virtualization Service Provider (VSP) • A server component (in a parent or other partition) that handlesI/O requests • Can pass I/O requests on to native services like a file system • Can pass I/O requests directly to physical devices • Can be in either kernel- or user-mode • Virtualization Service Consumer (VSC) • A client component (in a child partition) which serves as the bottom of an I/O stack within that partition • Sends requests to a VSP • VMBus • A system for sending requests and data between virtual machines

  13. Virtual Devices (VDevs) • Come in two varieties • Core: Device emulators • Plug-in: Enlightened I/O • Management is through WMI • Packaged as COM objects • Run within the VM Worker Process • Often work in conjunction with a VSP

  14. Virtualization Service Providers (VSPs) • Communicate with a VDev for configuration and state management • Can exist in user- or kernel-mode • COM object • Service • Driver • Use VMBus to communicatewith a VSC in the child partition

  15. Applications User Mode Disk StorPort iSCSIprt Disk Partition Volume Windows File System StorPort Miniport Windows hypervisor VM Worker Process VMBus Virtual Storage Miniport (VSC) Virtual Storage Provider (VSP) Fast Path Filter (VSC) Example VSP/VSC Design Parent Partition Child Partitions Provided by: Windows Windows Virtualization ISV OEM Kernel Mode Hardware

  16. Agenda • Architecture introduction • Hypervisor architecture • Device virtualization architecture • Virtualization stack architecture • Summary

  17. Virtualization StackOverview • Collection of software componentsthat work together to supportvirtual machines • Creation, configuration, lifetime management, IO management • Works in conjunction with • Management console • Device virtualization • Hypervisor

  18. Virtualization StackManagement Console Interaction • Management Console • Basic ‘in-box’ user interface • Sends commands and control to Virtualization Stack via WMI • Interacts with guest using RDP • Virtualization Stack mediates communication

  19. VDev VMMS WMI VSP Virtualization StackComponent View Virtualization stack Worker process ConfigComponent StateMachine VirtualMotherboard User Mode IC Proxy RDPEncoder VID Kernel Mode

  20. VMMS WMI VMMSVirtual Machine Management Service Virtualization stack • Responsibilities • Controls all virtual machines • WMI provider receives control commands from Management Console • Creates one Worker Process for each VM instance • Collaborates with • Config component to configure VMs and VNSs – Virtual Network Switches • Worker process to control VM

  21. Config Component Virtualization stack • Responsibilities • Persistent configurationstore for VMs and VNSs • Key/value pairs • Hierarchical organization • Collaborates with • VMMS • Receives commands/send results • Worker Process • Communicates configuration changes ConfigComponent

  22. VIDVirtualization Infrastructure Driver Virtualization stack • Responsibilities • Mediates communicationwith hypervisor • Provides basic and advanced guest memory virtualization • MMIO emulation, ROM emulation • Provides instruction completion • Collaborates with • Hypervisor • Makes requests to hypervisorby using the hypercall protocol VID

  23. Worker process Worker process StateMachine StateMachine VirtualMotherboard VirtualMotherboard VDev VDev IC Proxy IC Proxy RDPEncoder RDPEncoder Worker Process Virtualization stack • Instantiated for running or configuring one instance of a VM • Contains • VMB • VDevs • State Machine • IC Proxy • RDP Encoder

  24. State Machine Virtualization stack • Responsibilities • Drives instantiation and runtimestate of a VM • Enforces valid state transitionsin response to • Management Console-initiated commands • Guest-initiated operations • Host events – like power management, shutdown, and hardware errors • Provides save-state and snapshot functionality • Collaborates with • VID, VMB, and VDevs to control virtual hardware state StateMachine

  25. Virtual Motherboard Virtualization stack • Responsibilities • Instantiates all virtual devices • Collaborates with • Config component • Obtains device configuration • State machine • Controls virtual hardware state VirtualMotherboard

  26. VDev Virtual Devices Virtualization stack • Responsibilities • Legacy device emulation OR • VSP control • Collaborates with • VMB • VSP • Control virtual hardware state

  27. IC Proxy RDPEncoder IC Proxy/RDP Encoder Virtualization stack • Responsibilities • Manage communication link between guest and remoteUI on Management Console • Collaborates with • Management console • Receives/sends RDP commands • Integration componentsin guest • Remote UI from/to guest

  28. Agenda • Architecture introduction • Hypervisor architecture • Device virtualization architecture • Virtualization stack architecture • Summary

  29. Virtualization Stack Provided by: Windows Windows Virtualization VM WorkerProcesses WMI Provider VMService ISV OEM WindowsKernel WindowsKernel VirtualizationServiceProviders(VSPs) Server Core IHVDrivers Windows hypervisor VirtualizationServiceClients(VSCs) Enlightenments VMBus Windows Virtualization Architecture Parent Partition Child Partitions Applications User Mode Kernel Mode “Designed for Windows” Server Hardware

  30. Questions?

  31. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related