Вы находитесь на странице: 1из 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 Hybrid VMM Type-1 VMM
(Hypervisor)
Guest 1 Guest 2

VMM Guest 1 Guest 2 Guest 1 Guest 2

Host OS Host OS VMM VMM

Hardware Hardware Hardware

Examples: Examples: Examples:


JVM Virtual PC & Virtual Windows
CLR Server Virtualization

What we have today What we’re building


for the future
Monolithic vs. Microkernelized
Monolithic hypervisor Microkernelized
Simpler than a modern hypervisor
kernel, but still complex Simple partitioning
Contains its own drivers functionality
model Increase reliability and
minimize TCB
No third-party code
Drivers run within guests

VM 1 VM 1
VM 2 VM 3 (“Parent”)
(“Admin”)
Virtual- VM 2 VM 3
ization (“Child”) (“Child”)
Stack
Drivers
Drivers Drivers
Drivers Drivers
Drivers
Hypervisor 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 • Exposes simple programmatic interface called
Windows) “hypercalls”

Hypervisor

Hard Ethernet
CPU RAM
Drive NIC
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
WMI
Provider • Contains all VM support not in the hypervisor
VM
VMWorker
Worker • Interacts with hypervisor
VM Service VM Worker
Process
Process • Calls the hypervisor to perform certain actions
Process
• Responds to messages from the hypervisor or from
other partitions
• Creates and manages a group of “child
partitions”
• Manages memory for child partitions
Virtualization • Virtualizes devices for child partitions
Infrastructure VMBus • Exposes a management interface
Driver Bus Driver

Hypervisor API &


Parent
Message Library
Partition Child Partition 1 Child Partition 2

Hypervisor
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
Storage
• Run within the partition that owns the
VSP
corresponding physical device
• Virtualization service clients (VSCs)
Storage Storage
• Consume virtualized hardware service
Stack Stack
• VMBus
• Software “bus” (enumeration, hot plug,
Storage
Port VSC etc.)
Driver • Enables VSPs and VSCs to communicate
efficiently
Parent VMBus VMBus
Partition • Uses memory sharing and hypervisor IPC
messages
Hypervisor

Disk
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.

Вам также может понравиться