Lec05 PDF
Lec05 PDF
Lec05 PDF
Types of Interfaces
• Emulation
– VM emulates/simulates complete hardware
– Unmodified guest OS for a different PC can be run
• Bochs, VirtualPC for Mac, QEMU
• Full/native Virtualization
– VM simulates “enough” hardware to allow an unmodified
guest OS to be run in isolation
• Same hardware CPU
– IBM VM family, VMWare Workstation, Parallels,…
Types of virtualization
• Para-virtualization
– VM does not simulate hardware
– Use special API that a modified guest OS must use
– Hypercalls trapped by the Hypervisor and serviced
– Xen, VMWare ESX Server
• OS-level virtualization
– OS allows multiple secure virtual servers to be run
– Guest OS is the same as the host OS, but appears isolated
• apps see an isolated OS
– Solaris Containers, BSD Jails, Linux Vserver
• Application level virtualization
– Application is gives its own copy of components that are not shared
• (E.g., own registry files, global objects) - VE prevents conflicts
– JVM, Rosetta on Mac (also emulation), WINE
Computer Science CS677: Distributed OS Lecture 4, page 20
Types of Hypervisors
Type 2 Hypervisor
• VMWare example
– Upon loading program: scans code for basic blocks
– If sensitive instructions, replace by Vmware procedure
• Binary translation
– Cache modified basic block in VMWare cache
• Execute; load next basic block etc.
• Type 2 hypervisors work without VT support
– Sensitive instructions replaced by procedures that emulate
them.
I/O Virtualization
• Data centers:
– server consolidation: pack multiple virtual servers onto a
smaller number of physical server
• saves hardware costs, power and cooling costs
• Cloud computing: rent virtual servers
– cloud provider controls physical machines and mapping of
virtual servers to physical hosts
– User gets root access on virtual server
• Desktop computing:
– Multi-platform software development
– Testing machines
– Run apps from another platform
Computer Science Lecture 4, page 31