Operating System Support for Virtual Machines - PowerPoint PPT Presentation

About This Presentation
Title:

Operating System Support for Virtual Machines

Description:

Title: PowerPoint Presentation Last modified by: Sam King Created Date: 1/1/1601 12:00:00 AM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 21
Provided by: umichEdu7
Category:

less

Transcript and Presenter's Notes

Title: Operating System Support for Virtual Machines


1
Operating System Support for Virtual Machines
  • Sam King
  • George Dunlap
  • Peter Chen
  • CoVirt Project, University of Michigan

2
Virtual Machines
  • Software abstraction of a machine
  • Software backward compatibility
  • Convenient place for new services
  • Strong isolation

3
Virtual Machine Configurations
Guest Process
Guest Process
Guest Operating System
Virtual Machine Monitor
Host Operating System
Hardware
Type II VMM
  • Runs directly on hardware
  • Good performance
  • Uses existing host OS abstractions to implement
    services
  • Poor performance

4
Can we have Type I performance with Type II
elegance?
  • Yes!
  • Only 510 lines of code added to Linux
  • Type II VMM attain performance that approaches
    type I VMM

5
Presentation Outline
  • Background on UMLinux
  • Discussion of optimizations
  • Conclusions

6
UMLinux Architecture
  • Linux on top of Linux
  • Port of Linux to run in UMLinux
  • ptrace used for virtualization
  • intercept guest system calls
  • track guest user / kernel mode transitions

Guest Process
UMLinux VMM
Guest OS
Linux Operating System
PC Hardware
7
Hardware Equivalents
8
Performance
9
Original UMLinux Guest System Call
Guest application
VMM Process
Guest operating system
Host operating system
10
Move VMM to Host Kernel
Guest application
VMM Process
Guest operating system
Host operating system
11
Performance
12
Switching Guest Modes
  • Significant number of guest kernel / user mode
    crossings
  • Kernel compile benchmark
  • 22 million guest memory exceptions
  • 1.4 million guest system calls
  • Protection provided using mprotect system calls
  • Instead, use x86 segmentation hardware

13
Use Segmentation Bounds for Kernel Protection
14
Performance
15
Original UMLinux Guest Application Context
Switching
RAM File
RAM File
Guest Application Memory
Guest Application Memory
proc_a mem
proc_a mem
0x8000
0x8000
proc_b mem
proc_b mem
process_b page at 0x8000 mapped in, process_b
executes
process_a running
16
Multiple Address Space Definitions
  • Instead, modify hardware page table pointer

guest proc a
Guest OS
Page Table Ptr
Host operating system
17
Final Performance Results
18
Conclusion
  • Existing OS abstractions sufficient, slow
  • Fast interception of signals and exceptions
  • Expose power of underlying hardware
  • Type II VMM CAN be as fast as type I
  • Questions?

19
Related Work
  • User-Mode-Linux
  • SUNY Palladium
  • Mach, Exokernel, L4
  • Wisconsin Wind Tunnel

20
Further Areas of Improvement
  • Asynchronous I/O
  • Exception Handling
Write a Comment
User Comments (0)
About PowerShow.com