operating system support for virtual machines
Download
Skip this Video
Download Presentation
Operating System Support for Virtual Machines

Loading in 2 Seconds...

play fullscreen
1 / 20

Operating System Support for Virtual Machines - PowerPoint PPT Presentation


  • 88 Views
  • Uploaded on

Operating System Support for Virtual Machines. Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan. Virtual Machines. Software abstraction of a machine Software backward compatibility Convenient place for new services Strong isolation. Runs directly on hardware

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Operating System Support for Virtual Machines' - israel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
operating system support for virtual machines

Operating System Support for Virtual Machines

Sam King

George Dunlap

Peter Chen

CoVirt Project, University of Michigan

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

Operating System Support for Virtual Machines

virtual machine configurations
Runs directly on hardware

Good performance

Uses existing host OS abstractions to implement services

Poor performance

Guest Process

Guest Process

Guest Operating System

Virtual Machine Monitor

Hardware

Type I VMM

Virtual Machine Configurations

Guest Process

Guest Process

Guest Operating System

Virtual Machine Monitor

Host Operating System

Hardware

Type II VMM

Operating System Support for Virtual Machines

can we have type i performance with type ii elegance
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

Operating System Support for Virtual Machines

presentation outline
Presentation Outline
  • Background on UMLinux
  • Discussion of optimizations
  • Conclusions

Operating System Support for Virtual Machines

umlinux architecture
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

Operating System Support for Virtual Machines

hardware equivalents
Hardware Equivalents

Operating System Support for Virtual Machines

performance
Performance

Operating System Support for Virtual Machines

original umlinux guest system call
Original UMLinux Guest System Call

Guest application

VMM Process

Guest operating system

Host operating system

Operating System Support for Virtual Machines

move vmm to host kernel

VMM Process

Move VMM to Host Kernel

Guest application

VMM Process

Guest operating system

Host operating system

Operating System Support for Virtual Machines

performance1
Performance

Operating System Support for Virtual Machines

switching guest modes
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

Operating System Support for Virtual Machines

use segmentation bounds for kernel protection

0xffffffff

segment bound

Host OS

0xffffffff

Host OS

0xc0000000

0xc0000000

guest user-mode

guest kernel-mode

Accessible

Memory

Guest OS

0x70000000

Guest

Apps

Guest OS

segment bound

0x00000000

0x70000000

Guest

Apps

Accessible

Memory

0x00000000

Use Segmentation Bounds for Kernel Protection

Operating System Support for Virtual Machines

performance2
Performance

Operating System Support for Virtual Machines

original umlinux guest application context switching
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

Operating System Support for Virtual Machines

multiple address space definitions

guest proc b

switchguest syscall

Multiple Address Space Definitions
  • Instead, modify hardware page table pointer

guest proc a

Guest OS

Page Table Ptr

Host operating system

Operating System Support for Virtual Machines

final performance results
Final Performance Results

Operating System Support for Virtual Machines

conclusion
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?

Operating System Support for Virtual Machines

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

Operating System Support for Virtual Machines

further areas of improvement
Further Areas of Improvement
  • Asynchronous I/O
  • Exception Handling

Operating System Support for Virtual Machines

ad