Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating System Support for Virtual Machines

Similar presentations


Presentation on theme: "Operating System Support for Virtual Machines"— Presentation transcript:

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

2 Operating System Support for Virtual Machines
Software abstraction of a machine Software backward compatibility Convenient place for new services Strong isolation Sam King Operating System Support for Virtual Machines

3 Virtual Machine Configurations
Type I VMM Hardware Virtual Machine Monitor Guest Operating System Guest Process 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 Sam King Operating System Support for Virtual Machines

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 Sam King Operating System Support for Virtual Machines

5 Operating System Support for Virtual Machines
Presentation Outline Background on UMLinux Discussion of optimizations Conclusions Sam King Operating System Support for Virtual Machines

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 Sam King Operating System Support for Virtual Machines

7 Operating System Support for Virtual Machines
Hardware Equivalents Sam King Operating System Support for Virtual Machines

8 Operating System Support for Virtual Machines
Performance Sam King Operating System Support for Virtual Machines

9 Original UMLinux Guest System Call
Guest application VMM Process Guest operating system Host operating system Sam King Operating System Support for Virtual Machines

10 Move VMM to Host Kernel Guest application VMM Process
Guest operating system VMM Process Host operating system Sam King Operating System Support for Virtual Machines

11 Operating System Support for Virtual Machines
Performance Sam King Operating System Support for Virtual Machines

12 Operating System Support for Virtual Machines
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 Sam King Operating System Support for Virtual Machines

13 Use Segmentation Bounds for Kernel Protection
Guest OS 0x Guest Apps 0x guest kernel-mode segment bound Host OS 0xffffffff 0xc Accessible Memory Guest OS 0x Guest Apps 0x guest user-mode segment bound Host OS 0xffffffff 0xc Accessible Memory Sam King Operating System Support for Virtual Machines

14 Operating System Support for Virtual Machines
Performance Sam King Operating System Support for Virtual Machines

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_a running process_b page at 0x8000 mapped in, process_b executes Sam King Operating System Support for Virtual Machines

16 Multiple Address Space Definitions
Instead, modify hardware page table pointer guest proc a guest proc b Guest OS switchguest syscall Page Table Ptr Host operating system Sam King Operating System Support for Virtual Machines

17 Final Performance Results
Sam King Operating System Support for Virtual Machines

18 Operating System Support for Virtual Machines
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? Sam King Operating System Support for Virtual Machines

19 Operating System Support for Virtual Machines
Related Work User-Mode-Linux SUNY Palladium Mach, Exokernel, L4 Wisconsin Wind Tunnel Sam King Operating System Support for Virtual Machines

20 Further Areas of Improvement
Asynchronous I/O Exception Handling Sam King Operating System Support for Virtual Machines


Download ppt "Operating System Support for Virtual Machines"

Similar presentations


Ads by Google