Chapter 2: Infrastructure as a Service (IaaS) Flashcards
What is a Hypervisor?
- is a program that allows multiple OS systems to share a single hardware host, each OS appears to have the host’s resources ie: processore, memeory, nic etc all to itself
Name and explain Type 1 Hypervisor
Runs directly on hardware
- More secure and more available
- Offers better performance to the guests it supports
- Requires special device drivers
Name and explain Type 2 Hypervisor
Runs on top of an OS
- Leverages the OS drivers
- Often used for desktop development and testing
- More overhead
What are the Challenges for IaaS Providers?
- Rapid provisioning
- Elasticity
- Isolation of different consumers
- Performance
Definition of Virtualization
Virtualization is the simulation of the software and/or hardware upon which other software runs. This simulated environment is called a virtual machine (VM).
What is the challenge of Elasticity for a Cloud?
- Create illusion of infinite resources
- manage data center in a cost-efficient manner
What is the challenge Rapid Provisioning for a Cloud?
- Resources must be available to the consumer quickly
- No human interaction during provisioning
Taxonomy of Virtualization
- Process Virtualization
- OS Virtualization
- System Virtualization
What is the VMM?
Virtual machine monitor
aka Hypervisor
Name the three types of processor instructions.
- Privileged instruction
- Sensitive instructions
- Unprivileged instructions
What is the necessary condition to the processor instructions for efficient virtualization (Popek and Goldberg-Theorem)?
Set of sensitive instructions is a subset of the set of privileged instructions. (=Condition satisfied)
What are the three Hardware Virtualization techniques?
- Full Virtualization
- Paravirtualization (OS-Assisted)
- Hardware-Assisted Virtualization
Define Full Virtualization.
Full Virtualization is virtualization in which the guest operating system is unaware that it is in a virtualized environment, and therefore hardware is virtualized by the host operating system.
Define Paravirtualisation.
Software Assisted Virtualization (Paravirtualization) is virtualization in which the guest operating system is aware that it is a guest. Therefore the guest source code is modified so that it avoids assistance of the VMM as far as possible.
Define Hardware-Assisted Virtualization.
Hardware Assisted Virtualization has special instructions to aid the virtualization of hardware. The guest can execute privileged instructions directly on the processor without affecting the host.
Explain Full Virtualization using Binary Translation
- Find critical instructions and replace them
- Run unprivileged instructions directly on CPU
- Trap and emulate privileged and sensitive instructions
- Find critical instructions and replace with exception
- Problem: Replacement must be done at runtime
What is the MMU
Memory management unit (MMU) translates logical to physical memory addresses
by lookup the page table (logical page ←→ physical page)