Lecture 5 on Virtualization
Lecture 5 on Virtualization
Lecture 5: Virtualization
– Examples :
• X86 (x86 is a family of complex instruction set
computer (CISC) instruction set architectures
initially developed by Intel based on the Intel
8086 microprocessor ...
• MIPS(Microprocessor without Interlocked
Pipelined Stages)
Virtualization Overview
• OS level abstraction :
– For compiler or library
developers, a machine is
defined by ABI (Application
Binary Interface).
– This define the basic OS
interface which may be used
by libraries or user.
– Examples :
• User ISA
• OS system call
Virtualization Overview
– Examples :
• User ISA
• Standard C library
• Graphical library
Definition
29
Virtualization Approaches
• Virtualization Approaches :
– Full-Virtualization
• VMM simulates enough hardware to allow an
unmodified guest OS.
– Para-Virtualization
• VMM does not necessarily simulate hardware, but
instead offers a special API that can only be used by
the modified guest OS.
30
Virtualization Approaches
• Full-Virtualization
• Terminology :
– Host (Target)
• The primary environment where
will be the target of virtualization.
– Guest (Source)
• The virtualized environment where
will be the source of virtualization.
isomorphism is a structure-preserving
mapping between two structures of the
same type that can be reversed by an
inverse mapping.
Virtualization at ISA level:
Emulating a given ISA by the ISA of the host machine. For example,
MIPS binary code can run on an x-86-based host machine with the help
of ISA emulation. Typical systems: Bochs, Crusoe, Quemu, BIRD,
Dynamo
• Advantage: It can run a large amount of legacy binary codes written
for various processors on any given new hardware host machines;
best application flexibility
• Shortcoming & limitation: One source instruction may require tens or
hundreds of native target instructions to perform its function, which is
relatively slow. V-ISA requires adding a processor-specific software
translation layer in the complier.
• Shortcoming & limitation: all VMs at the operating system level must
have the same kind of guest OS; poor application flexibility and
isolation.
Virtualization at OS Level
Library Support level:
http://www.mainsoft.com/content/mainsoft-enterprise-edition-overview
Virtualization at User-Application level:
• Virtualization technique
– Simulate an independent environment where guest ISA and
host ISA are the same.
– Example
• Virtualize x86 architecture to multiple instances.
System Virtual Machine
Four VCPUs are exposed the software, only three cores are actually present. VCPUs
V0, V1, and V3 have been transparently migrated, while VCPU V2 has been
transparently suspended. (Courtesy of Wells, et al., “Dynamic Heterogeneity and the
Need for Multicore Virtualization”, ACM SIGOPS Operating Systems Review, ACM
Press, 2009 [68] )