Virtual Machines, Slides of Technology

Type 1 hypervisors - Operating-system-like software built to provide virtualization. Runs on 'bare metal”. ▫. Including VMware ESX, Joyent SmartOS, and Citrix ...

Typology: Slides

2022/2023

Uploaded on 03/01/2023

anasooya
anasooya 🇺🇸

4.1

(13)

244 documents

1 / 22

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chapter 5 C
Virtual machines
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16

Partial preview of the text

Download Virtual Machines and more Slides Technology in PDF only on Docsity!

Chapter 5 C

Virtual machines

Chapter 5 — Large and Fast: Exploiting Memory Hierarchy — 2

Virtual Machines

 Host computer emulates guest operating system

and machine resources

 Improved isolation of multiple guests

 Avoids security and reliability problems

 Aids sharing of resources

 Virtualization has some performance impact

 Feasible with modern high-performance comptuers

 Examples

 IBM VM/370 (1970s technology!)

 VMWare

 Microsoft Hyper V

§ 5.6 Virtual Machines

Chapter 5 — Large and Fast: Exploiting Memory Hierarchy — 4 Virtual Machine Monitor (Hypervisor)

Chapter 5 — Large and Fast: Exploiting Memory Hierarchy — 5

Example: Timer Virtualization

 In native machine, on timer interrupt

 OS suspends current process, handles

interrupt, selects and resumes next process

 With Virtual Machine Monitor

 VMM suspends current VM, handles interrupt,

selects and resumes next VM

 If a VM requires timer interrupts

 VMM emulates a virtual timer

 Emulates interrupt for VM when physical timer

interrupt occurs

User mode and Kernel (supervisor) mode

 Special instructions:

 Depending on whether it is executed in kernel/user mode

 “Sensitive instructions”

 Some instructions cause a trap when executed in user-

mode

 “Privileged instructions”

 A machine is virtualizable only if sensitive instructions are a

subset of privileged instructions

 Intel’s 386 did not always do that. Several sensitive 386 instructions were ignored if executed in user mode.  Fixed in 2005  Intel CPUs: VT (Virtualization Technology)  AMD CPUs: SVM (Secure Virtual Machine)

Implementation of VMMsType 1 hypervisors - Operating-system-like software built to provide virtualization. Runs on ‘bare metal”.  Including VMware ESX, Joyent SmartOS, and Citrix XenServer  Also includes general-purpose operating systems that provide standard functions as well as VMM functions  Including Microsoft Windows Server with HyperV and RedHat Linux with KVM  Type 2 hypervisors - Applications that run on standard operating systems but provide VMM features to guest operating systems  Includeing VMware Workstation and Fusion, Parallels Desktop, and Oracle VirtualBox All 3 are Type 1 http://www.virtualizationsoftware.com/top- 5 - enterprise-type- 1 - hypervisors/

Implementation of VMMs

What issues do you see?

  • What mode does hypervisor run in? Guest OSs?
  • Are Guest OSs aware of hypervisor?
  • How is memory managed?
  • How do we know what is the best choice?

Terms

 Guest Operating System

 The OS running on top of the hypervisor

 Host Operating System

 For a type 2 hypervisor: the OS that runs on the hardware.

Virtual Machine (VM) as a set of files

 Configuration file describes the attributes of the virtual

machine containing

 server definition,  how many virtual processors (vCPUs)  how much RAM is allocated,  which I/O devices the VM has access to,  how many network interface cards (NICs) are in the virtual server  the storage that the VM can access

 When a virtual machine is instantiated, additional files

are created for logging, for memory paging etc.

 Copying a VM produces not only a backup of the data

but also a copy of the entire server, including the

operating system, applications, and the hardware

configuration itself

Virtualization benefits  Run multiple, OSes on a single machine  Consolidation , app dev, …  Security: Host system protected from VMs, VMs protected from each other  Sharing though shared file system volume, network communication  Freeze, suspend , running VM  Then can move or copy somewhere else and resumeLive migration  Snapshot of a given state, able to restore back to that state  Clone by creating copy and running both original and copy  Hence – cloud computing

Sensitive instructions

 Some CPUs didn’t have clean separation between

privileged and non-privileged instructions

 Sensitive instructions  Consider Intel x86 popf instruction  If CPU in privileged mode - > all flags replaced  If CPU in user mode - > on some flags replaced  No trap is generated

 Binary translation (complex) solves the problem

  1. If guest VCPU is in user mode, guest can run instructions natively
  2. If guest VCPU in kernel mode (guest believes it is in kernel mode)
    1. VMM examines every instruction guest is about to execute by reading a few instructions ahead of program counter
    2. Special instructions translated into new set of instructions that perform equivalent task (for example changing the flags in the VCPU)
  3. Cached translations can reduce overhead

Type 1 Hypervisors  Guest OSs believe they are running on bare metal, are unaware of hypervisor  are not modified  Better performance  Choice for data centers  Consolidation of multiple OSes and apps onto less HW  Move guests between systems to balance performance  Snapshots and cloning  Create run and manage guest OSes  Run in kernel mode  Implement device drivers  Also provide other traditional OS services like CPU and memory management  Examples: VMWare esx (dedicated) , Windows with Hyper-V (includes OS)

Full vs Para-virtualization  Full virtualization: Guest OS is unaware of the hypervisor. It thinks it is running on bare metal.  Para-virtualization: Guest OS is modified and optimized. It sees underlying hypervisor.

 Introduced and developed by Xen

 Modifications needed: Linux 1.36%, XP: 0.04% of code base

 Does not need as much hardware support

 allowed virtualization of older x86 CPUs without

binary translation

 Not used by Xen on newer processors

Live Migration Running guest can be moved between systems, without interrupting user access to the guest or its apps  for resource management,  maintenance downtime windows, etc  Migration from source VMM to target VMM  Needs to migrate all pages gradually, without interrupting execution (details in next slide)  Eventually source VMM freezes guest, sends vCPU’s final state, sends other state details, and tells target to start running the guest  Once target acknowledges that guest running, source terminates guest