Virtualization: Ahmed Aley Supervisor: DR Mohamed Abo Elhoda
Virtualization: Ahmed Aley Supervisor: DR Mohamed Abo Elhoda
Ahmed Aley
Supervisor: Dr Mohamed Abo ElHoda
What is virtualization
• Technology that combines or divides
computing resources to present one or many
operating environments using methodologies
like HW & SW partitioning, aggregation,
partial or complete machine simulation,
emulation, time-sharing and others.
Virtualization Applications
• Applications:
– Server consolidation (merging of servers)
– Secure Computing (sandboxing)
– Multiple OS support
– Kernel Debugging and development
– HPC
– HTC
– Application Consolidation
– Testing/QA
Advantages
• Test what ever you want with out fearing
system crashes
• Improving throughput using HW by allowing
multiple users to use the same HW
Virtualization at the ISA level
• Think X86 on Sun Sparc !
• We want to implement an emulation layer for
an instruction set architecture completely in
SW
• Tries to execute instructions issued by the
guest machine (the VM) by translating them
into native instructions and executing them on
the available HW
Virtualization at the ISA level Examples
• Bochs :
• open source X-86 PC emulator written in C++
• Can run on PowerPC, Alpha, Sun, MIPS
• Crusoe:
– From x86 to VLIW Cruseo
Virtualization at the HW abstraction layer
Application Application
OS OS
VM VM
VM Monitor
PC Hardware
Virtualization at the HW abstraction layer:
Hosted
Application Application
OS OS
VM VM
Host OS VM Monitor
PC Hardware
Virtualization at the HW abstraction layer:
Examples
• VMWare
• Free and industrial versions
• Standalone (ESX version) as in the previous slide or
hosted (Workstation version)
• VirtualPC:
• Similar to the workstation version of VMWare
• Microsoft
• Linux, FREEBSD, Solaris, etc are not supported
Virtualization at the HW abstraction layer:
Paravirtualization Examples
• Denali
• At the university of Washington
• Project to support thousands of VMs simultaneously
• Think Simulation ?!!
• New virtualization architecture called lightweight VMs\
• Xen
• Open source
• @ Cambridge
• seeing both real and virtual time might help the guest OS
better support time-sensitive tasks and come up with good
round trip time (RTT) estimates for handling TCP timeouts
Virtualization at the OS Level
• Why go through the hassle of reinstalling what
is already installed?
• Used for sandboxing mainly
• So, go to a higher layer
– Linux Kernel-mode virtualization
– Give each user his own space on the machine
– Users are totally isolated
Virtualization for programming languages