Wosa

  • Uploaded by: doeacc
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Wosa as PDF for free.

More details

  • Words: 1,075
  • Pages: 23
Windows Virtualization Architecture Mark Kieffer Group Program Manager Windows Virtualization markkie @ microsoft.com Microsoft Corporation

Session Outline Current virtualization uses and benefits Uses for virtualization today Microsoft’s current virtualization offerings

Windows Virtualization Architecture Hypervisor Virtualization stack Device virtualization

Session Goals Attendees should leave this session with the following: A solid architectural overview of Microsoft’s virtualization work A better understanding of the interaction between hardware and software virtualization

Current Virtualization Uses and Benefits Workloads that are enabled by virtualization Server Consolidation Efficient software development and test Dynamic data centers Resource Management

Application re-hosting Application compatibility High availability partitions Many others

Microsoft’s Current Virtualization Offerings Virtual PC 2004 Being deployed in production environments Application re-hosting Demos, training, helpdesk

Being deployed in test and dev environments Multiple test beds on a single piece of hardware

Virtual Server 2005 Released Q4 2004 Well received in the industry Used for production server consolidation

Remote management of virtual machine operations Great perf gains and functionality enhancement in SP1 64-bit host support, PXE support, and others

Microsoft's Next Gen Virtualization Architecture Introducing Windows virtualization for servers Hypervisor-based Separate, small management partition (parent) Takes device virtualization to the next level Targeting availability in the Longhorn wave

Definition of a couple of terms Parent partition: a partition that manages its children Child partition: any number of partitions that are started, managed, and shut down by their parent Virtualization Stack: The collection of components that runs in the parent partition for VM management

Windows Virtualization for Servers Some proposed features 32-bit and 64-bit guests x64-only hosts Guest multiprocessing Virtualized devices WMI management and control API Save & restore Snapshotting CPU and I/O resource controls Tuning for NUMA Dynamic resource addition & removal Live migration

The Hypervisor Very thin layer of software Highly reliable Much smaller Trusted Computing Base (TCB)

No built-in driver model Leverage the large base of Windows drivers Drivers run in a partition

Will have a well-defined, published interface Allow others to create support for their OS’s as guests

Hardware virtualization assists are required Intel Virtualization Technology AMD “Pacifica”

VMM Arrangements Type-2 VMM Guest 1

Hybrid VMM

Type-1 VMM (Hypervisor)

Guest 2

VMM Host OS Hardware

Examples: JVM CLR

Guest 1 Host OS

Guest 2

VMM Hardware

Examples: Virtual PC & Virtual Server

What we have today

Guest 1

Guest 2

VMM Hardware

Examples: Windows Virtualization

What we’re building for the future

Monolithic vs. Microkernelized Monolithic hypervisor Simpler than a modern kernel, but still complex Contains its own drivers model

VM 1 (“Admin”)

VM 2

Hypervisor

VM 3

Microkernelized hypervisor Simple partitioning functionality Increase reliability and minimize TCB No third-party code Drivers run within guests VM 1 (“Parent”) Virtualization Stack Drivers Drivers Drivers

VM 2 (“Child”)

VM 3 (“Child”)

Drivers Drivers Drivers

Drivers Drivers Drivers

Drivers Drivers Drivers

Hypervisor

Hardware

Hardware

The Hypervisor • Thin layer of software running on the hardware • Supports creation of partitions • Each partition is a virtual machine • Each partition has one or more virtual processors • Partitions can own or share hardware resources • Software running in partition is called a guest

• Enforces memory access rules • Enforces policy for CPU usage • Virtual processors are scheduled on real processors

• Enforces ownership of other devices • Provides simple inter-partition messaging Parent Partition

• Messages appear as interrupts

(Minimum Footprint Windows)

• Exposes simple programmatic interface called “hypercalls” Hypervisor

Hard Drive

Ethernet NIC

CPU

RAM

Virtualization Stack Will run within a parent partition Stand alone in a small footprint OS (MinWin) Full Windows OS

Multiple virtualization stacks could co-exist

Virtualization Stack • Collection of user-mode & kernel-mode components • Runs within a partition on top of a (minimal) OS • Contains all VM support not in the hypervisor

WMI Provider VM Service

VM VMWorker Worker VM Worker Process Process Process

• Interacts with hypervisor • Calls the hypervisor to perform certain actions • Responds to messages from the hypervisor or from other partitions

• Creates and manages a group of “child partitions” Virtualization Infrastructure Driver

Parent Partition

• Manages memory for child partitions • Virtualizes devices for child partitions VMBus Bus Driver

Hypervisor API & Message Library

• Exposes a management interface

Child Partition 1 Hypervisor

Child Partition 2

Device Virtualization Provides a method for sharing hardware efficiently Physical devices are still managed by their device drivers Definitions Virtualization Service Providers (VSPs) & Clients (VSCs) VSP = provider, VSC = consumer VSP typically run in a partition that “owns” a hardware resource VSP/VSC pair per device type (storage, network, etc.) May expose bandwidth resource controls Protocol is specific to device type, but is generally OS-agnostic

Device Virtualization Standard VSPs Storage: parses VHDs, supports difference drive chains Network: provides virtualized network mechanism Video: 2D for servers USB: allows a USB device to be assigned to a partition Input: keyboard & mouse Time: virtualization for RTC hardware

Device Virtualization • Physical devices • Managed by traditional driver stacks

• Virtualization service providers (VSPs) • Virtualize a specific class of device (e.g. networking, storage, etc.) • Expose an abstract device interface • Run within the partition that owns the corresponding physical device

Storage VSP Storage Stack

• Consume virtualized hardware service

• VMBus

Storage VSC

Port Driver Parent Partition

• Virtualization service clients (VSCs)

Storage Stack

VMBus

VMBus Hypervisor

Disk

• Software “bus” (enumeration, hot plug, etc.) • Enables VSPs and VSCs to communicate efficiently • Uses memory sharing and hypervisor IPC messages

Windows Enlightenments Enlightenments Modifications to an OS to make it aware that it’s running within a VM

Windows codenamed “Longhorn” enlightenments Optimizations in memory manager (MM) Win32 and kernel API: Am I running on a virtual machine?

Looking at additional enlightenments in the future

Some System Requirements Must support hardware virtualization Intel’s Virtualization Technology AMD’s “Pacifica” We are not planning on supporting any other implementations

Must support x64 extensions

Community Resources Windows Hardware & Driver Central (WHDC) www.microsoft.com/whdc/default.mspx

Technical Communities www.microsoft.com/communities/products/default.mspx

Non-Microsoft Community Sites www.microsoft.com/communities/related/default.mspx

Microsoft Public Newsgroups www.microsoft.com/communities/newsgroups

Technical Chats and Webcasts www.microsoft.com/communities/chats/default.mspx www.microsoft.com/webcasts

Microsoft Blogs www.microsoft.com/communities/blogs

Additional Community Resources Community Sites http://www.microsoft.com/communities/default.mspx

List of Newsgroups

http://communities2.microsoft.com/communities/newsgroups/en-u

Attend a free chat or webcast http://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/seminar/events/ webcasts/default.mspx

Locate a local user group(s) http://www.microsoft.com/communities/ usergroups/default.mspx

Non-Microsoft Community Sites http://www.microsoft.com/communities/related/default.mspx

Additional Resources Email: msvirtex @ microsoft.com Web Resources http://www.microsoft.com/windowsserversystem/virtualserver http://www.microsoft.com/windowsxp/virtualpc

Related Sessions Virtualization Technology for AMD Architecture Virtualization Technology for Intel Architecture

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Related Documents

Wosa
November 2019 2

More Documents from "api-25956222"

Wosa
November 2019 2