










Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to virtualization, explaining it as the process of creating a virtual version of a physical object, specifically in the context of computing where hardware virtualization allows for running a complete operating system on virtual hardware. terminology, types of virtualization, and uses of virtualization, as well as the history and requirements for virtualization. It also touches upon methods of virtualization and virtual machine access to resources.
Typology: Study notes
1 / 18
This page cannot be seen from the preview
Don't miss anything!











Physical Machine
Virtual Machine Virtual Machine
Physical Machine (Host)
Hardware
Operating System
Hypervisor
Operating System
Virtual Machine (Guest)
Applications
Operating System
Virtual Machine (Guest)
Applications
Applications
○ Type 1: Native ○ Type 2: Hosted
○ e.g. XEN, Oracle VM Server
○ e.g. VirtualBox, Parallels Desktop, QEMU
○ Running multiple operating systems on one host, without the inconvenience of rebooting. ○ e.g. Running Windows inside OS X. ○ Some hypervisors support “seamless integration”.
○ Operating System/Hardware Design. ○ Kernel Debugging/Testing. ○ Prototyping new architectures/architectural features.
○ Data centre server consolidation. ○ High availability/Migration.
OS-X
Windows
Linux
InfOS
Many Servers One Big Server
○ Maximum flexibility for virtualisation, but very slow to run (high overhead). ○ Each guest instruction is emulated (can use binary translation for speed-up)
○ Isolate processes/groups of processes within a single operating system, e.g. Docker.
○ Isolate multiple operating systems from each other, within a single physical machine.
○ Guest Machine is the same architecture as the Host Machine, e.g. Intel x86 on Intel x86.
○ Guest Machine has a different architecture than the Host Machine, e.g. ARM on Intel x86. ○ Must use software emulation to do this.
○ Not permitted by Popek and Goldberg because it violates the efficiency property. ■ Although, this no longer holds due to the advent of efficient binary translation. ○ Required for cross-architecture virtualisation, as guest instructions cannot execute natively on the host.
○ The guest operating system runs “de-privileged”, all non-privileged instructions execute natively on the host. ○ All privileged instructions trap to the VMM. ○ VMM emulates these privileged operations. ○ Guest resumes execution after emulation.
... push %rax mov (%rbp), %rax mov %rax, %cr pop %rax ...
Emulates instruction
It’s a trap!
○ Some privileged instructions did not “trap”, and so could not be emulated correctly.
○ Intel-VT ○ AMD-V
○ Intel VT-X and AMD-V for x86 processors. ○ ARM Virtualization Extensions for ARM processors.
○ Memory ○ Storage ○ Networking ○ Graphics