Hypervisor Virtualization Stack And Device Virtualization Architectures Mike
- Slides: 32
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
Windows Virtualization Architecture Parent Partition Child Partitions Windows Virtualization Stack WMI Provider VM Service Server Core Windows Kernel Provided by: Applications VM Worker Processes ISV User Mode Virtualization Service IHV Providers (VSPs) Drivers Windows Virtualization Service Clients (VSCs) VMBus Windows Kernel Enlightenments Kernel Mode Windows hypervisor “Designed for Windows” Server Hardware OEM
Agenda Architecture introduction Hypervisor architecture Device virtualization architecture Virtualization stack architecture Summary
Hypervisor Design Goals Strong Isolation Security Performance Virtualization support …and … Simplicity Parent Partition Child Partition Apps Server Core OS 1 OS 2 Windows hypervisor Restrict activities to monitoring and enforcing Where possible, push policy up Hardware
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 Parent Partition Child Partition Apps Server Core 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 Parent Partition Child Partition Apps Server Core OS 1 OS 2 Windows hypervisor Hardware
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
Hypercalls High level APIs Higher level abstractions are available in Windows partitions Win. Hv. sys provides a C language wrapper VMBus. sys provides cross-partition communication services Virtualization stack provides WMI interfaces for configuring children Windows 2000 and later Windows Server Core WMI Provider Virtualization Stack Vm. Bus. sys Win. Hv. sys Windows hypervisor Hardware
Layered Hypervisor Architecture Bm Dm Dispatch Manager Hc Hypercall Handlers Pt Virtualization System Im Ic Partition Manager Syn. IC Am Address Manager Vp Virtual Processor Val Rme Vm Th Sch Ti Memory Manager Mm Hypervisor Kernel Ke Tr Dbg Rtl St Hal Cpu Hk Scheduler / Threads CPU Management
Agenda Architecture introduction Hypervisor architecture Device virtualization architecture Virtualization stack architecture Summary
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
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
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 communicate with a VSC in the child partition
Example VSP/VSC Design Parent Partition Child Partitions Applications VM Worker Process User Mode Windows File System Provided by: Windows Virtualization ISV Volume OEM Partition Disk Virtual Storage Provider (VSP) Disk Fast Path Filter (VSC) Stor. Port Miniport Hardware Virtual Storage Miniport (VSC) VMBus Windows hypervisor i. SCSIprt Kernel Mode
Agenda Architecture introduction Hypervisor architecture Device virtualization architecture Virtualization stack architecture Summary
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
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
Virtualization Stack Component View Worker process Config Component State Machine Virtual Motherboard User Mode WMI VMMS Kernel Mode Virtualization stack IC RDP Proxy Encoder VID VDev VSP
VMMS Virtualization stack 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 WMI VMMS
Config Component Virtualization stack 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
VID Virtualization stack 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
Worker Process Virtualization stack Worker process State Machine IC Proxy Instantiated for running or configuring one instance of a VM Contains VMB VDevs State Machine IC Proxy RDP Encoder Virtual Motherboard RDP Encoder VDev Worker process State Machine IC Proxy Virtual Motherboard RDP Encoder VDev
State Machine Virtualization stack 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
Virtual Motherboard Virtualization stack Responsibilities Instantiates all virtual devices Collaborates with Config component Obtains device configuration State machine Controls virtual hardware state Virtual Motherboard
Virtual Devices Virtualization stack Responsibilities Legacy device emulation OR VSP control Collaborates with VMB VSP Control virtual hardware state VDev
IC Proxy/RDP Encoder Virtualization stack 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
Agenda Architecture introduction Hypervisor architecture Device virtualization architecture Virtualization stack architecture Summary
Windows Virtualization Architecture Parent Partition Child Partitions Virtualization Stack WMI Provider VM Service Server Core Windows Kernel Provided by: Windows Applications VM Worker Processes ISV User Mode Virtualization Service IHV Providers (VSPs) Drivers Windows Virtualization Service Clients (VSCs) VMBus Windows Kernel Enlightenments Kernel Mode Windows hypervisor “Designed for Windows” Server Hardware OEM
Questions?
© 2006 Microsoft Corporation. All rights reserved. Microsoft, 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.
- What is stack pointer
- Input output storage devices
- Stack smash attack
- Encoder responsibilities
- Database storage architecture
- Autoencoders, unsupervised learning, and deep architectures
- Type 0 hypervisor
- Hypervisor core scheduler
- Kaspersky hardware virtualization
- Hypervisor wikipedia
- Redbend hypervisor
- Hypervisor should score well in
- Isa95
- Hypervisor
- Type 0 hypervisor
- Type 0 hypervisor
- Hypervisor from scratch
- Citrix hypervisor express edition vs standard
- Product architecture diagram
- Base system architectures
- Backbone network architectures
- Scalable internet architectures
- Integral product architecture example
- Gui architectures
- Database system architectures
- Cdn architectures
- Aaron bannert
- Two tier data warehouse architecture
- Isa instruction set architecture
- Architecture e commerce
- Banking system architecture diagram
- Backbone network architectures