Newest Viewed Downloaded

La virtualizzazione

La virtualizzazione

La virtualizzazione * La virtualizzazione Hardware Sistema operativo Host Virtual Machine Manager Virtual Machine Guest OS (Linux) Applicazioni Virtual Machine Virtual Machine Guest OS (Windows XP) Guest OS (Free BSD) Applicazioni Applicazioni V i r t u a l P h y s i c a l

La virtualizzazione * Vantaggi Evita la sottoutilizzazione dei server (Server consolidation) Riduce il downtime grazie alla rilocazione Semplifica il load-balancing Rinforza le politiche di sicurezza

La virtualizzazione * Requisiti per la virtualizzazione di Popek e Goldberg Sono le condizioni sufficienti perché un’architettura possa supportare la virtualizzazione Le istruzioni di un’ISA vengono distinte in tre gruppi: Privileged instructions  Generano una trap solo se si è in user mode. Control sensitive instructions  Tentano di modificare le risorse del sistema (es. I/O, …). Behavior sensitive instructions  Istruzioni il cui risultato dipende dalla configurazione delle risorse.

La virtualizzazione * Requisiti per la virtualizzazione di Popek e Goldberg Le istruzioni “Control sensitive” devono essere un sottoinsieme di quelle privilegiate. Tutte le istruzioni che possono influenzare l’esecuzione del Virtal Machine Monitor devono generare una trap ed essere gestite dal VMM stesso. Le istruzioni non privilegiate possono essere eseguite nativamente.

La virtualizzazione * Tipi di virtualizzazione Emulazione: Permette l’esecuzione di un SO su una CPU completamente differente Virtualizzazione piena:VirtualBox, Qemu, … Esegue copie di SO completi Poco efficiente Para-virtualizzazione (UML, Xen) Esegue SO completi su architetture particolari (es: XEN/x86)

La virtualizzazione * Flusso di istruzioni 1 2 3 4 5 6 Istruzioni privilegiate Salti

La virtualizzazione * Binary rewriting Vengono esaminate le istruzioni del flusso del programma (a tempo di esecuzione) Vengono individuate le istruzioni privilegiate Vengono riscritte queste istruzioni con le versioni emulate.

La virtualizzazione * Binary rewriting Permette la virtualizzazione in spazio utente Più lento Si deve usare il caching delle locazioni di memoria Le prestazioni tipiche vanno dall’80% al 97% di una macchina non virtualizzata. Può essere implementato con i meccanismi dei debugger come i breakpoint.

La virtualizzazione * Paravirtualizzazione L’interfaccia presentata al software è simile ma non identica a quella dell’hardware perché alcune istruzioni non possono essere virtualizzate Se un’istruzione del sistema guest genera una trap, questo ne deve gestire le conseguenze Il sistema guest deve essere modificato. Concettualmente simile al binary rewriting, ma il rewriting avviene a tempo di compilazione.

La virtualizzazione * Paravirtualizzazione Quando un’applicazione genera una systemcall, questa viene intercetta dal SO (guest) Quando il SO guest prova ad eseguire istruzioni privilegiate, il VMM “intrappola” (traps) l’operazione e le esegue correttamente Quindi i SO guest effettuano Hypercall per interagire con le risorse del sistema. Questo permette la protezione delle VM.

La virtualizzazione * Paravirtualizzazione su x86 Vengono usati i Ring dei processori x86: SO Applicazioni Hypervisor Applicazioni SO Esecuzione nativa Paravirtualizzazione 3 2 1 0

La virtualizzazione * Para-virtualizzazione: Xen Xen estende l’architettura x86 Simile a x86, Xen è invocato per le operazioni con privilegi Elimina i binary rewriting Minimiza il numero di transizioni a Xen Modifications relatively simple and self-contained Modify kernel to understand virtualised env. Wall-clock time vs. virtual processor time Desire both types of alarm timer Expose real resource availability Enables OS to optimise its own behaviour

La virtualizzazione * XEN: caratteristiche Secure isolation between VMs Resource control and QoS Only guest kernel needs to be ported User-level apps and libraries run unmodified Linux 2.4/2.6, NetBSD, FreeBSD, Plan9, Solaris Execution performance close to native Broad x86 hardware support Live Relocation of VMs between Xen nodes

La virtualizzazione * Xen 3.0 Architecture Event Channel Virtual MMU Virtual CPU Control IF Hardware (SMP, MMU, physical memory, Ethernet, SCSI/IDE) Native Device Driver GuestOS (XenLinux) Device Manager & Control s/w VM0 Native Device Driver GuestOS (XenLinux) Unmodified User Software VM1 Front-End Device Drivers GuestOS (XenLinux) Unmodified User Software VM2 Front-End Device Drivers Unmodified GuestOS (WinXP)) Unmodified User Software VM3 Safe HW IF Xen Virtual Machine Monitor Back-End Back-End VT-x x86 (32/64) SMP

La virtualizzazione * Ruolo del Domain 0 L’Hypervisor permette l’esecuzione dei SO guest. Ogni SO guest viene eseguito in un ambiente detto domain Il dom0 è il primo domain caricato da xen.

La virtualizzazione * Ruolo del Domain 0 Xen carica il dom0 come modulo (quindi non ha bisogno di filesystems) ed ha elevati privilegi. Gli altri SO guest vengono eseguiti in Unprivileged Domains (domU); Tutti i driver vengono gestiti dal SO in dom0: gestisce di dispositivi.

La virtualizzazione * Esempio di invio di un pacchetto di dati Domain U Guest Domain 0 Guest XEN Hardware Applicazione TCP/IP Split Dev. Driver Split Dev. Driver TCP/IP Driver Device Driver

La virtualizzazione * ring 3 Xen su x86 Xen reserva la parte alta dello spazio di indirizzamento La segmentazione protegge le aree di xen La velocità delle system call è invariata Kernel User 4GB 3GB 0GB Xen S S U ring 1 ring 0

La virtualizzazione * Xen su x86 a 64 bit Large VA space makes life a lot easier, but: No segment limit support Need to use page-level protection to protect hypervisor Kernel User 264 0 Xen U S U Reserved 247 264-247

Showing 1 - 20 of 32 items Details

Name: 
080-virtualizzazione
Author: 
N/A
Company: 
N/A
Description: 
La virtualizzazione
Tags: 
virtualizzazione | xen | guest | virtual | istruzioni | user | device | x86
Created: 
11/5/2010 9:45:52 AM
Slides: 
32
Views: 
23
Downloads: 
7
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap