Xen and the Art of Virtualization - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Xen and the Art of Virtualization

Description:

Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield – PowerPoint PPT presentation

Number of Views:127
Avg rating:3.0/5.0
Slides: 33
Provided by: ChrisS243
Category:

less

Transcript and Presenter's Notes

Title: Xen and the Art of Virtualization


1
Xen and the Art of Virtualization
Paul Barham, Boris Dragovic, Keir Fraser, Steven
Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian
Pratt, Andrew Warfield
2
Apology / Disclaimer
3
Why Virtualise?
  • Consolidate machines
  • Isolate performance
  • Stay flexible

4
HARDWARE
5
???
HARDWARE
6
Linux
WinXP
???
HARDWARE
7
Linux
WinXP
Mirage
???
HARDWARE
8
Linux
WinXP
Mirage
Virtual Machine Monitor
HARDWARE
9
How to Build a VMM 1 Emulation
EMULATOR PROCESS
Physical memory
Guest App
Guest App
Virtual MMU
Virtual System Calls
Guest Kernel
Virtual CPU
Normal OS
HARDWARE
10
How to Build a VMM 2 Trap and Emulate
Guest Kernel
Guest App
EMULATOR PROCESS
Physical memory
Virtual MMU
Virtual System Calls
Normal OS
HARDWARE
11
How to Build a VMM 2 Trap and Emulate
Guest Kernel
Guest App
EMULATOR PROCESS
add eax, ebx
Physical memory
Virtual MMU
Virtual System Calls
Normal OS
HARDWARE
12
How to Build a VMM 2 Trap and Emulate
Guest Kernel
Guest App
EMULATOR PROCESS
outb al
Physical memory
Virtual MMU
Virtual System Calls
Normal OS
HARDWARE
13
How to Build a VMM 2 Trap and Emulate
Guest Kernel
Guest App
EMULATOR PROCESS
outb al
Physical memory
Virtual MMU
Virtual System Calls
Normal OS
HARDWARE
14
How to Build a VMM 2 Trap and Emulate
Guest Kernel
Guest App
EMULATOR PROCESS
handle_sysenter
sysenter
Physical memory
Virtual MMU
Virtual System Calls
Normal OS
HARDWARE
15
How to Build a VMM 2 Trap and Emulate
  • for(i 0 i lt 256 i)
  • mangle_pagetable_entry(ptesi)
  • 256 traps into the emulator
  • Severe performance penalty

16
How to Build a VMM 3 Dynamic Binary Translation
Rewritten Guest Kernel
Rewritten Guest App
TRANSLATOR PROCESS
Physical memory
Virtual MMU
Virtual System Calls
Normal OS
HARDWARE
17
How to Build a VMM 3 Dynamic Binary Translation
  • for(i 0 i lt 256 i)
  • mangle_pagetable_entry(ptesi)

18
How to Build a VMM 3 Dynamic Binary Translation
  • pte_t new_ptes256
  • for(i 0 i lt 256 i)
  • new_ptesi mangled_entry(ptesi)
  • register_new_ptes(new_ptes, 256)
  • But when is this a safe alteration?

19
How to Build a VMM 4 Xen
  • Q. But when is this a safe alteration?
  • A. Let the humans worry about that.
  • Manually hack the OS paravirtualisation.

20
Xen Founding Principles
  • Minimally alter guest OS
  • Don't disguise multiplexing
  • Thusly, be faster than the competition

21
VMWare Memory Management
VAS Pages
Physical frames
22
VMWare Memory Management
VAS Pages
Physical frames
Page Table
23
VMWare Memory Management
VAS Pages
Physical frames
Page Table (not really)
24
VMWare Memory Management
VAS Pages
Physical frames
Shadow Page Table
25
Xen Memory Management
VAS Pages
Physical frames
26
Xen Memory Management
VAS Pages
Physical frames
Page Table
27
VMWare I/O
Physical Memory
I/O Ports
NE2000 Model Rubbish NIC One op at a time Shared
buffers
Device Memory
Device Ports
28
Xen I/O
Own Memory
Hypervisor
Async Queue --gt
lt-- Async Queue
Packet
29
Xen I/O
Own Memory
Hypervisor
Async Queue --gt
lt-- Async Queue
Packet
30
Xen I/O
Own Memory
Hypervisor
Async Queue --gt
lt-- Async Queue
Buffer
31
Strawman Warning
  • VMWare does that too
  • Guest additions are basically paravirt

32
Is it Any Good?
Write a Comment
User Comments (0)
About PowerShow.com