Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS 700 Machine Virtualization Autumn 2004.

Similar presentations


Presentation on theme: "CIS 700 Machine Virtualization Autumn 2004."— Presentation transcript:

1 CIS 700 Machine Virtualization http://www.seas.upenn.edu/~cis700-6/ Autumn 2004

2 2 Examples of Machine Virtualization Run Linux and Windows concurrently on one machine Different operating systems, same ISA Run Linux/x86 applications on Linux/PowerPC Same operating system, different ISA Run Windows/x86 on MacOSX/PowerPC Different operating system, different ISA Run many Linux/x86 virtual machines Same operating system, same ISA Run Java Bytecodes on Linux/x86

3 3 Traditional “Virtualization” Virtual Memory Provides protection, isolation, relocation, swapping Requires hardware support for efficiency Unix’s mmap() Great for reading, what about writes? RAID - one disk from many Hardware versus software implementation Layout becomes virtual Two conflicting goals of virtualization Transparency Low overhead

4 4 Applications of Machine Virtualization (1 of 2) Compatibility (ISA and/or operating system) Ancient VAX/VMS software Hardware independence (e.g., Java’s VM) Related: Transmeta’s code morphing Setup of new software test environments Software migration Development and debugging Complex software systems Processor design (simulation vs emulation) General performance analysis

5 5 Applications of Machine Virtualization (2 of 2) Error and attack containment Why aren’t processes sufficient? Faults and security considerations Dynamically share resources (memory, disk, processors) Sever consolidation 10 virtual machine web servers on a two-processor machine Virtual machines “leased” from real server owner Server migration Move a server across the room (or across the world) Emerging applications (e.g., in sensor networks)

6 6 Techniques Employed by Virtualization Systems Virtual Machine Monitors (VMMs) “hypervisors” Coordinate and virtualize resources Binary translation Dynamic, static, feedback directed In software or hardware Hardware support Changes for transparent virtualization Support for low-overhead virtualization Traditional operating system tricks E.g., copy-on-write, traps, privileged modes

7 7 Virtualization Challenges Some interfaces not well defined Or certainly not design with virtualization in mind Interfaces at all levels instructions, APIs, bytecodes, ABIs, I/O devices Recall tension between transparency and performance Especially difficult for software-only techniques Many applications, many “system” techniques employed Hopefully, an interesting and broad topic for this semester’s systems seminar


Download ppt "CIS 700 Machine Virtualization Autumn 2004."

Similar presentations


Ads by Google