Presentation is loading. Please wait.

Presentation is loading. Please wait.

Hypervisor, Virtualization Stack, And Device Virtualization Architectures Mike Neil Product Unit Manager Windows Virtualization Microsoft Corporation.

Similar presentations


Presentation on theme: "Hypervisor, Virtualization Stack, And Device Virtualization Architectures Mike Neil Product Unit Manager Windows Virtualization Microsoft Corporation."— Presentation transcript:

1 Hypervisor, Virtualization Stack, And Device Virtualization Architectures Mike Neil Product Unit Manager Windows Virtualization Microsoft Corporation

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

3 Windows Virtualization Architecture Parent Partition Child Partitions Kernel Mode User Mode Virtualization Service Providers (VSPs) Windows Kernel Server Core IHV Drivers Virtualization Service Clients (VSCs) Windows Kernel Enlightenments VMBus Windows hypervisor Virtualization Stack VM Worker Processes VM Service WMI Provider Applications “Designed for Windows” Server Hardware Provided by: Windows ISV OEM WindowsVirtualization

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

5 Hypervisor Design Goals Strong Isolation SecurityPerformance Virtualization support …and … Simplicity Restrict activities to monitoring and enforcing Where possible, push policy up Hardware Windows hypervisor Parent Partition Server Core Apps OS 1OS 2 Apps Child Partition

6 Physical Hardware The hypervisor restricts itself to managing a minimum set of hardware Processors Local APICs Constant-rate system counter System physical address space Focus is on scheduling and isolation Hardware Windows hypervisor Parent Partition Server Core Apps OS 1OS 2 Apps Child Partition

7 Hardware Windows hypervisor Parent Partition Server Core Apps OS 1OS 2 Apps Child Partition 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 Hypercalls Low 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 Hypercalls High level APIs Higher level abstractions are available in Windows partitions WinHv.sys provides a C language wrapper VMBus.sys provides cross-partition communication services Virtualization stack provides WMI interfaces for configuring children Windows Server Core Virtualization Stack WMI Provider WinHv.sys Hardware Windows hypervisor Windows 2000 and later WinHv.sys VmBus.sys

10 Layered Hypervisor Architecture ThSchTi Mm TrKe Hal Cpu Memory Manager Scheduler / Threads CPU Management Hypervisor Kernel Bm Dm Hc Ic Pt Am Vp SynIC RmeVal Dispatch Manager Hypercall Handlers Partition Manager Virtual Processor Address Manager Virtualization System Im Vm Hk Rtl St Dbg

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 handles I/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 ServiceDriver Use VMBus to communicate with a VSC in the child partition

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

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

17 Virtualization Stack Overview Collection of software components that work together to support virtual machines Creation, configuration, lifetime management, IO management Works in conjunction with Management console Device virtualization Hypervisor

18 Virtualization Stack Management 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 Virtualization Stack Component View Virtualization stack Config Component VMMS WMI Worker process State Machine IC Proxy RDP Encoder VDev Virtual Motherboard VID VSP Kernel Mode User Mode

20 VMMS WMI VMMS Virtual Machine Management Service 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 Virtualization stack

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

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

23 Worker process State Machine IC Proxy RDP Encoder VDev Virtual Motherboard Worker Process Instantiated for running or configuring one instance of a VM ContainsVMBVDevs State Machine IC Proxy RDP Encoder Virtualization stack Worker process State Machine IC Proxy RDP Encoder VDev Virtual Motherboard

24 State Machine Responsibilities Drives instantiation and runtime state of a VM Enforces valid state transitions in 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 State Machine Virtualization stack

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

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

27 IC Proxy/RDP Encoder Responsibilities Manage communication link between guest and remote UI on Management Console Collaborates with Management console Receives/sends RDP commands Integration components in guest Remote UI from/to guest IC Proxy RDP Encoder Virtualization stack

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

29 Windows Virtualization Architecture Parent Partition Child Partitions Kernel Mode User Mode Virtualization Service Providers (VSPs) Windows Kernel Server Core IHV Drivers Virtualization Service Clients (VSCs) Windows Kernel Enlightenments VMBus Windows hypervisor Virtualization Stack VM Worker Processes VM Service WMI Provider Applications “Designed for Windows” Server Hardware Provided by: Windows ISV OEM WindowsVirtualization

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.

32


Download ppt "Hypervisor, Virtualization Stack, And Device Virtualization Architectures Mike Neil Product Unit Manager Windows Virtualization Microsoft Corporation."

Similar presentations


Ads by Google