Virtualization Benchmarking

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Virtualization Benchmarking"

Transcript

1 Università degli Studi di Salerno Laurea Magistrale in Informatica Corso di Sistemi Operativi II Virtualization Benchmarking Professore Giuseppe Cattaneo Studenti Ada Mancuso Francesco Raia Carmine Spagnuolo Anno Accademico

2 Chapter 1 Abstract La tecnologia di virtualizzazione venne sviluppata per la prima volta negli anni 60 per partizionare l hardware dei mainframe di grandi dimensioni e ottimizzarne l utilizzo. Gli attuali computer basati sull architettura x86 ripropongono gli stessi problemi di rigidità e sottoutilizzo che caratterizzavano i mainframe negli anni 60. Per risolvere le innumerevoli problematiche associate alla piattaforma x86, tra cui il sottoutilizzo delle risorse, negli anni 90 VMware ha inventato la Full Virtualization, affrontando molti ostacoli e diventando leader mondiale nel campo della virtualizzazione Enterprise al fianco di Xen Hypervisor, che invece risolve differentemente i problemi legati alla virtualizzazione introducendo un nuovo approccio, la Paravirtualization. Dopo aver descritto in maniera coincisa ed esauriente le due tecniche e le differenze che intercorrono tra esse, il nostro lavoro mira a misurare e confrontare le performance dei due hypervisor sulla base di un lavoro precedentemente effettuato su Xen Hypervisor e VMware Workstation. Più precisamente i test saranno effettuati su una singola macchina configurata in tre differenti modi: VMware ESXi 3.5 che esegue CentOs 6.1 XEN 4.1 Hypervisor hosted su Ubuntu Server 12.4 che esegue CentOs 6.1 VMware Player hosted su Ubuntu Server 12.4 che esegue CentOs 6.1 i

3 CHAPTER 1. ABSTRACT ii Grazie a questi test verrà effettuato il confronto fra tre tecniche di virtualizzazione, rispettivamente Full Virtualization, Paravirtualization, e Hosted Full Virtualization. Nel seguito di questo lavoro verrano spiegate le tecniche e le problematiche legate ad ognuna di essa. La configurazione hardware scelta mira a valutare i sistemi di virtualizzazione in uno scenario quanto più reale possibile, come ad esempio la consolidazione di più server di una piccola azienda in un unico server per motivazioni legate al risparmio energetico. L omogeneità dell hardware ospitante e della macchina virtuale ospitata ci garantiscono che i risultati dei test dipendano unicamente dalle performance degli hypervisor, scopo del nostro lavoro.

4 Contents 1 Abstract i 2 Introduzione Inquadramento Storico Motivazioni Vantaggi e Svantaggi Vantaggi Svantaggi Tassonomia Terminologia Sfide della virtualizzazione Virtualizzazione della CPU Hardware-assisted Virtualization Problemi legati alla virtualizzazione software-only Intel Virtualization Technology (Intel VT) AMD Virtualization Technology (AMD-V) Full Virtualization e VMware Introduzione Full Virtualization Virtualizzazione della CPU Virtualizzazione della memoria Virtualizzazione dei dispositivi di I/O VMware vsphere ESX e ESXi VMware Player iii

5 CONTENTS 1 4 Para Virtualization e Xen Introduzione La Filosofia di Xen L architettura di Xen Domain 0(privileged) Domain U(nprivileged) Configurazioni dell hypervisor Comunicazione tra domini Gestione della Memoria Flusso di Gestione Split Driver Monitor: I/O RIngs Virtualizzazione della CPU Virtual Machine Scheduling Testing Hardware Installazione VMware ESXi Installazione Xen 4.1, Ubuntu hosted Installazione VMware Player,Ubuntu hosted Test Roy Longbottom s PC Benchmark Risultati Relative Performance Cuncurrent Performance Conclusioni 115 Bibliografia 119

6 Chapter 2 Introduzione In informatica il termine virtualizzazione si riferisce all astrazione di risorse computazionali. Lo scopo della virtualizzazione è migliorare l utilizzo delle risorse, fornendo una piattaforma integrata ed unificata per utenti e applicazioni caratterizzata dall aggregazione di risorse autonome ed eterogenee [1]. In sintesi gli obiettivi della virtualizzazione di risorse sono: Astrazione Semplificare le risorse virtualizzate rimuovendone i dettagli Replica Creare istanze multiple di una risorsa per semplificarne la gestione o l allocazione Isolamento Separare l utilizzo delle risorse da parte dei client La virtualizzazione al giorno d oggi è ovunque, basti pensare a software come la Java Virtual Machine (JVM), ai sistemi di storage di rete che offrono all utente uno spazio logico mappato su un insieme di dispositivi di memorizzazione eterogenei, o ai meccanismi di memoria virtuale che utilizzano tutti i sistemi operativi per avvalersi di uno spazio di memoria centrale maggiore di quello fisicamente disponibile utilizzando spazio di memoria secondario; tutte queste applicazioni hanno un fattore comune, semplificare l utilizzo delle risorse, creare astrazione, e migliorarne l utilizzo. Parlare di virtualizzazione in generale è troppo dispersivo, per cui nel seguito del capitolo verrà mostrata una tassonomia e verrano approfonditi i rami dell albero tassonomico che risultano utili alla comprensione del nostro lavoro. 2

7 CHAPTER 2. INTRODUZIONE Inquadramento Storico La virtualizzazione venne implementata per la prima volta da IBM con System/360 Model 67 (S/360-67) negli anni 60 come metodo per partizionare in maniera logica i computer mainframe in macchine virtuali separate; grazie a ciò i mainframe erano in grado di implementare il multitasking. Poiché i mainframe all epoca erano risorse costose, il loro partizionamento rappresentava un modo per valorizzare l investimento. Negli anni 70 notiamo il diffondersi di questa tecnologia; di particolare rilievo è CP/CMS (Control Program/Cambridge Monitor System), un sistema operativo time-sharing, allora sinonimo di virtualizzazione e Open- VMS (Open Virtual Memory System), un sistema operativo multiuser, multiprocessing, basato su virtual memory, progettato per l utilizzo in time-sharing, processi batch e transazioni real-time. La virtualizzazione venne accantonata negli anni 80 e 90 quando le applicazioni client-server e gli economici server e desktop x86 hanno dato vita all elaborazione distribuita. L ampia diffusione di Windows e la nascita di Linux come sistemi operativi server fecero sì che negli anni 90 i sistemi x86 si imponessero come standard di settore. L adozione sempre più vasta e articolata di server e desktop x86 ha comportato nuove sfide operative e infrastrutturali per i reparti IT, tra cui: Bassi livelli di utilizzo dell infrastruttura: secondo quanto riportato dalla società di indagini di mercato IDC (International Data Corporation) i server x86 sono utilizzati in media soltanto al 10-15% della loro capacità complessiva. Per evitare che eventuali problemi di sicurezza di un applicazione influiscano sulla disponibilità di un altra nello stesso server, le aziende di norma eseguono una sola applicazione per server. Aumento dei costi dell infrastruttura fisica: i costi operativi per il supporto di un infrastruttura fisica in continua crescita sono notevolmente aumentati. La maggioranza delle infrastrutture di elaborazione deve rimanere sempre operativa, pertanto i costi di alimentazione, di raffreddamento e di impianto non variano in rapporto ai livelli di utilizzo. Aumento dei costi di gestione IT: il grado di formazione ed esperienza specialistica del personale incaricato della gestione infrastrutturale e i costi ad esso associati sono aumentati progressivamente con l incremento

8 CHAPTER 2. INTRODUZIONE 4 della complessità degli ambienti informatici. Le organizzazioni impiegano una quantità sproporzionata di risorse e tempo per attività manuali correlate alla manutenzione dei server e pertanto necessitano di più personale per il completamento di queste attività. Failover e disaster recovery insufficienti: le organizzazioni sono sempre più penalizzate dai tempi di inattività delle applicazioni server missioncritical e dall inaccessibilità dei desktop importanti. La minaccia di attacchi alla sicurezza, disastri naturali, pandemie e terrorismo ha accresciuto l importanza di una corretta pianificazione della business continuity, sia per i server che per i desktop aziendali. Manutenzione impegnativa dei desktop degli utenti finali: la gestione e la protezione dei desktop aziendali presenta non pochi problemi. Il controllo di un ambiente desktop distribuito e l applicazione di criteri di gestione, accesso e sicurezza che non compromettano l efficienza operativa degli utenti sono attività complesse e costose. Per eliminare i rischi per la sicurezza, è necessario installare costantemente patch e upgrade negli ambienti desktop. Nel 1985 l AT&T 6300 annunncia Simultask e successivamente Merge, un monitor di macchina virtuale sviluppato da Computing Corporation Locus, che permettava l esecuzione di un sistema operativo Intel 8086 guest, sotto un host con sistema operativo Unix System V Release 2. Anche se il prodotto è stato commercializzato con Microsoft MS-DOS come sistema operativo ospitato, effettivamente la macchina virtuale poteva ospitare qualsiasi sistema operativo o software standalone scritto per architetture Successivamente Locus ha sviluppato una linea di prodotti del genere chiamata Merge. Nel 1997 è stata rilasciata la prima versione di Virtual PC per Macintosh, sviluppata da Connectix, mentre nel 2001 è stata rilasciata la prima release per sistemi Windows; i sistemi operativi ospitati erano Windows, OS/2, Red Hat Linux. Non appena è diventata chiara l importanza della virtualizzazione nel mercato enterprise, Microsoft acquistò Virtual PC e Virtual Server nel 2003: questi prodotti sono ora conosciuti come Windows Virtual PC. Nel 1999, VMware ha introdotto la virtualizzazione nei sistemi x86 allo scopo di risolvere efficacemente molte delle problematiche prima citate e trasformare i sistemi x86 in un infrastruttura hardware generica e condivisa che

9 CHAPTER 2. INTRODUZIONE 5 garantisse la mobilità, il completo isolamento e la libertà di scegliere il sistema operativo degli ambienti applicativi. Sfide e ostacoli della virtualizzazione dei sistemi x86 Diversamente dai mainframe, le macchine x86 non sono progettate per il supporto completo della virtualizzazione e VMware ha dovuto superare notevoli ostacoli per riuscire a creare macchine virtuali dai computer x86. La funzione fondamentale della maggior parte delle CPU nei mainframe e nei computer è costituita dall esecuzione di una sequenza di istruzioni memorizzate (ad esempio, un programma software). Nei processori x86, sono presenti 17 istruzioni specifiche che creano problemi nel momento in cui vengono virtualizzate provocando la visualizzazione di un avviso, la chiusura dell applicazione o addirittura l arresto del sistema. Di conseguenza, queste 17 istruzioni costituivano inizialmente un grosso ostacolo all implementazione della virtualizzazione nei computer x86. Per gestire le istruzioni problematiche nell architettura x86, VMware ha sviluppato una tecnica di virtualizzazione adattiva che blocca tali istruzioni nel momento in cui vengono generate e le converte in istruzioni virtualizzabili, senza intervenire sull esecuzione di tutte le altre istruzioni sicure. Come risultato, viene creata una macchina virtuale ad elevate prestazioni che corrisponde esattamente all hardware host e che mantiene la totale compatibilità software. Grazie all utilizzo pionieristico di questa tecnica, oggi VMware è il leader indiscusso nelle tecnologie di virtualizzazione. In concomitanza con VMware, negli anni 2000 FreeBSD 4.0 viene rilasciato, includendo l implementazione inziale di FreeBSD jails, e IBM annuncia z/vm per macchine virtuali a 64 bit con architettura z/architecture. E il 2001 quando VMware crea il primo software di virtualizzazione di server x86. Nel 2003 si ha la prima release del primo hypervisor open-source x86 XEN. Attualmente la comunità di XEN ha all attivo 250 contribuenti tra cui IBM, HP, Intel, VA Linux, AMD, Red Hat, Novell, Fujitsu, Bull, SGI,.... Nel 2005 VMware rilascia VMware Player free, allo scopo di consentire al mercato di massa di eseguire macchine virtuali preconfezionate, mentre la Sun rilascia il sistema operativo Solaris 10, includendo Solaris Zones, per virtualizzare sistemi x86/x64 e SPARC. Nel 2006, dopo l acquisizione da parte di EMC di VMware, viene rilasci-

10 CHAPTER 2. INTRODUZIONE 6 ato VMware Server, successore della linea di prodotti GSX Server. VMware Server può creare, editare ed eseguire macchine virtuali. E caratterizzato da un architettura client/server e consente di effettuare l accesso remoto alle macchine virtuali; inoltre può eseguire le macchine virtuali create da Microsoft Virtual PC. VMware distribuisce questo prodotto in licenza free per promuovere la transizione a VMware ESX Server. Nello stesso anno VMware è vincitore del Virtualization Appliance Contest e Microsoft Virtual PC 2006 è rilasciato in licenza free. Nel 2007 viene rilasciato VirtualBox Open Source Edition (OSE), il primo virtualizzatore professionale per PC sotto licenza GNU. Nel 2008 VMware rilascia VMware Workstation 6.5b, il primo hypervisor capace di abilitare le DirectX 9 su una macchina virtuale Windows XP. 2.2 Motivazioni Le motivazioni che hanno portato alla nascita della virtualizzazione vanno sicuramente ricercate nella storia. Principalmente vi era la necessità, da parte dei possessori di grandi centri di calcolo, allora mainframe, di utilizzare efficientemente le risorse a disposizione. Attualmente però esistono molteplici motivi che spingono ad utilizzare la virtualizzazione. Prima di elencare le motivazioni è necessario innanzitutto effettuare una distinzione fra virtualizzazone in ambiente desktop e virtualizzazione in ambiente enterprise o più semplicemente virtualizzazione di server. Desktop Virtualization La virtualizzazione di desktop è un implementazione software di una piattaforma, consistente di CPU, memoria, dispositivi di I/O virtualizzati, che viene eseguita al di sopra di un sistema operativo come un applicazione utente. Gli scopi di questa virtualizzazione sono certamente l altissima portabilità, poichè tali macchine virtuali (VM) sono dei file che possono essere eseguiti su qualsiasi macchina avvalendosi di un virtualizzatore, e la risoluzione di problemi di compatibilità: ad esempio se si ha la necessità di utilizzare un applicazione non compatibile con il sistema operativo usato si installa una VM compatibile con l applicazione e senza sforzi si esegue l applicazione contemporaneamente all esecuzione del sistema operativo. E chiaro quindi che lo scopo di tali software non è tanto garantire un efficiente utilizzo delle risorse quanto risolvere problemi di compatibilità.

11 CHAPTER 2. INTRODUZIONE 7 Server Virtualization La virtualizzazione dei server, come visto in precedenza, nasce fin dagli anni 60 dalla necessità di utilizzare efficacemente le risorse dei grossi calcolatori a disposizione nei centri di calcolo. Grazie a un layer software chiamato hypervisor che compete sulle risorse hardware del server, è possibile suddividere la macchina fisica in molteplici VMs, eseguirle concorrentemente ed utilizzarle per fornire servizi. 2.3 Vantaggi e Svantaggi Vantaggi Flessibilità: è possibile eseguire più di un sistema operativo contemporaneamente, migrare VMs da un computer ad un altro, interagire con l hypervisor tramite i comandi pause, play, resume, o modificare le specifiche hardware di una VM Disponibilità: nello scenario della virtualizzazione di server, è possibile spostare dinamicamente o a caldo VMs, in caso di problemi di manutenzione o allo scopo di bilanciare il carico, con un periodo di downitime minimo, generalmente pochi secondi, un tempo impercettibile all utente, e continuare a garantire il servizio Scalabilità: è semplice aggiungere nodi, rimuoverne e spostarne per bilanciare il carico Utilizzo dell hardware: l utilizzo delle risorse a disposizione aumenta visibilmente portando ad un risparmio economico ed energetico in quanto la richiesta di hardware diminuisce sensibilmente Sicurezza: ogni VM è eseguita dall hypervisor in una sandbox. Tale grado di isolamento favorisce l utilizzo delle VMs per il testing di applicazioni e l utilizzo delle stesse in ambito server come singoli workload, garantendo che eventuali falle di sicurezza in una VM non causino danni alle altre VMs Costi: si riducono i costi di hardware, poichè si consolidano i server in un unica infrastruttura governata dall hypervisor che assegna efficientemente le risorse alle VMs, i costi di personale, poichè da una singola postazione è possibile gestire centinaia di VMs, i costi di energia,

12 CHAPTER 2. INTRODUZIONE 8 poichè tali tecnologie di virtualizzazione hanno come principali scopi il risparmio energetico dovuto ad un efficiente utilizzo delle risorse, i costi di spazio,.... Adattabilità al Workload: i cambiamenti del workload possono essere gestiti in maniera adattiva dall infrastruttura grazie alla semplicità con cui si crea, si spegne, si migra una VM all interno dell infrastruttura Bilanciamento del carico: al variare del carico sulle VM si applicano politiche di bilanciamento, ad esempio spostando le macchine meno cariche su un singolo server e lasciando un unica macchina molto carica su un altro server o creando più macchine virtuali per gestire picchi di carico generati dalle richieste ad un servizio Applicazioni Legacy: compatibilità con applicazioni scritte per differenti piattaforme senza la necessità di installare nativamente nuovi sistemi operativi Svantaggi Overhead: è presente un certo overhead legato alla virtualizzazione della CPU, alle tecniche di virtualizzazione della memoria, alla gestione dei dispositivi di I/0 Costi dell infrastruttura: prima di virtualizzare un infrastruttura è necessario valutare bene i costi legati alle licenze dell infrastruttura (nel caso di virtualizzatori commerciali come VMware) e ai sistemi operativi delle macchine virtuali; per una piccola azienda non sempre la virtualizzazione è la scelta migliore, dal punto di vista economico Gestione: prima di virtualizzare è importante progettare l infrastruttura che ospiterà le macchine virtuali; gli hypervisor moderni hanno un numero di funzionalità impressionanti che utilizzate erroneamente possono minare la scalabilità, la sicurezza e anche le performance; anche se il personale si riduce quantitativamente è necessario che sia elevato qualitativamente per un ottimale gestione dell infrastruttura

13 CHAPTER 2. INTRODUZIONE Tassonomia Alla radice dell albero tassonomico che si intende tracciare vi è la virtualizzazione, che a sua volta si suddivide in System-Level e Process-Level. Per System-Level Virtualization si intende l implementazione software di una piattaforma, ossia della CPU, della memoria, dei dispositvi; per Process-Level Virtualization si intende un processo eseguito sul sistema operativo ospitante che astrae i dettagli hardware e implementativi della piattaforma e nasce all avvio del processo e termina quando il processo muore. I software analizzati in questo lavoro si occupano di System-Level Virtualization, più precisamente di Native Virtualization e Hosted Virtualization. Alla prima categoria appartengono i software di virtualizzazione che operano direttamente sull hardware della macchina, senza la presenza di un sistema operativo sottostante, sono dotati di un microkernel e gestiscono le risorse della macchina; alla seconda categoria appartengono i più comuni software di virtualizzazione eseguiti sul sistema operativo sottostante come applicazioni utente. E cruciale delineare la differenza fra due tipologie di software erratamente considerate affini: Emulazione Implementazione software di una macchina, con CPU, memoria, periferiche di I/O con un instruction set differente da quello della macchina ospitante; in sintesi quando si emula una piattaforma si effettuano tre operazioni: read-decode-execute, cioè lettura dell istruzione, decodifica nel set di istruzioni della macchina ospitante ed esecuzione. E un processo che genera molto overhead ma ciò nonostante è ampiamente utilizzato per motivi di compatibilità con vecchie piattaforme e a scopo di sviluppo. Virtualizzazione Implementazione software di una macchina, con CPU, memoria, periferiche di I/O avente un instruction set compatibile con quello della macchina ospitante; ciò non esclude il fatto che ci possa essere overhead legato alla traduzione di particolari istruzioni, e tale overhead è strettamente dipendente dal tipo di tecnica di virtualizzazione che si utilizza. 2.5 Terminologia A seguire vi è la terminologia utilizzata d ora in avanti.

14 CHAPTER 2. INTRODUZIONE 10 Macchina Virtuale (VM) Insieme di componenti hardware e periferiche implementate via software, che consente l esecuzione di un sistema operativo e più applicazioni eseguite su di esse Guest OS Sistema operativo in esecuzione sulla VM Host OS Sistema operativo che esegue la VM Virtual Machine Monitor (VMM) Software di virtualizzazione appartenente ad una VM che compete sulle risorse fisiche allocate al sistema ospitante Hypervisor Strato di virtualizzazione sul quale sono eseguite le VMs, che supervisiona i VMM. Può essere classificato ulteriormente in Hypervisor bare-metal o nativo quando è eseguito nativamente sull hardware e ne possiede il controllo diretto e privilegiato, e in Hypervisor hosted o ospitato quando è eseguito sull Host OS come un applicazione utente. 2.6 Sfide della virtualizzazione Tutti i comuni approcci alla virtualizzazione discendono da una serie di requisiti e linee guida tracciati da due scienziati Gerald J. Popek e Robert P. Goldberg nel paper Formal Requirements for Virtualizable Third Generation Architectures [10]. In questo lavoro dettano le condizioni sufficienti ad un architettura per supportare efficientemente la virtualizzazione: Equivalenza Il comportamento esibito dal Guest OS deve essere del tutto equivalente a quello dell Host OS; in poche parole il Guest OS è virtualizationunaware Controllo risorse Il VMM deve avere completo controllo di tutte le risorse hardware/software del nodo Host; questo lascia intendere che il VMM debba avere un accesso privilegiato alla macchina Host Efficienza Una percentuale significativa delle istruzioni del Guest OS deve essere eseguita senza intervento del VMM; un eccessivo controllo da parte del VMM sarebbe causa di intollerabile overhead

15 CHAPTER 2. INTRODUZIONE Virtualizzazione della CPU Il termine x86 si riferisce ad una famiglia di instruction set architectures, un insieme di istruzioni che descrive quegli aspetti dell architettura di una calcolatore che sono visibili al programmatore, tra cui i tipi di dati nativi, le istruzioni, i registri, le modalità di indirizzamento, l architettura della memoria, la gestione degli interrupt e delle eccezioni, e l eventuale I/O esterno, basata sul processore Intel L architettura x86, come si può osservare in figura 2.6.1, è suddivisa in Ring di privilegio: 1. Ring 0: il sistema operativo è eseguito in questo ring, il più privilegiato, poichè necessita dell accesso diretto alla memoria, alla CPU e in generale all hardware della macchina; 2. Ring 1, Ring 2: poco utilizzati, generalmente dai dispositivi 3. Ring 3: in tale ring vengono eseguite tutte le operazioni utente Figure 2.1: Ring di privilegio nell architettura x86 I processori basati sull 8086 hanno quindi due modalità operative fondamentali: user mode (ring 3) e kernel mode (ring 0). Il ring 3 è caratterizzato da

16 CHAPTER 2. INTRODUZIONE 12 uno spazio d indirizzamento di memoria segmentato in 20 bit e dalla mancanza di protezione della memoria e di multitasking a livello hardware. Le applicazioni vengono eseguite in questa modalità e possono usare l hardware attraverso le system call. Il ring 0 espande la memoria fisica indirizzabile, fornendo la protezione della memoria per evitare che i programmi si possano dannegiare tra loro. E possibile eseguire le istruzioni di CPU, incluse quelle privilegiate (interruzioni, gestione di memoria, I/O). Queste due modalità sono basate sull assunzione che la memoria è divisa in pagine prima che un istruzione privilegiata venga eseguita, la CPU controlla se la pagina da cui si origina l istruzione abbia il giusto codice a 2 bit ( 00 per il kernel mode e 11 per lo user mode). Virtualizzare un architettura x86 significa posizionare uno strato software sotto il sistema operativo, che si trova nel Ring 0, per creare e gestire le macchine virtuali che utilizzano le risorse dell Host OS. I problemi legati alla virtualizzazione della CPU sorgono dalla presenza di un sottoinsieme di istruzioni particolarmente ostiche: Istruzioni Privilegiate Istruzioni che necessitano dei privilegi del Ring 0 e se non eseguite con i dovuti privilegi scatenano un eccezione Istruzioni Sensibili Istruzioni che necessitano dei privilegi del Ring 0, tuttavia se non eseguite con tali privilegi non scatenano un eccezione ma modificano la semantica dell azione Il set di istruzioni dell architettura x86 contiene 17 istruzioni privilegiate. Le conseguenze legate all esecuzione, a livello utente, di tali istruzioni sono la possibile perdita del controllo della CPU o l interruzione fatale dell esecuzione del sistema operativo. La soluzione più semplice è trap-and-emulate : si catturano le istruzioni quando esse generano un eccezione a causa di mancanza di privilegio e si emulano; questo approccio non è purtroppo applicabile alle istruzioni x86 poichè in caso di istruzioni sensibili non è possibile individuare con il meccanismo delle eccezioni le istruzioni ostiche. La prima soluzione a questo problema è stata introdotta nel 1999 da VMware, è chiamata Binary Translation e si basa su un modulo software che traduce il codice binario che il kernel di un Guest OS vuole eseguire al momento. Anche se causa di un forte overhead, è una soluzione relativamente semplice e soprattutto garantisce la portabilità dell ambiente virtuale. Una soluzione di differente natura è quella adottata da Xen Hypervisor, chiamata Paravirtualization: in questa tecnica la traduzione del codice non avviene a runtime ma staticamente attraverso modifiche del sistema operativo. E evidente che le prestazioni, in

17 CHAPTER 2. INTRODUZIONE 13 termini di overhead legato alla traduzione, offerte da questa tecninca sono molto migliori di quelle offerte da VMware; tuttavia il prezzo da pagare è l assenza di portabilità e semplicità di installazione. Entrambe le tecniche verranno ampiamente descritte nel seguito di questo lavoro. 2.7 Hardware-assisted Virtualization Problemi legati alla virtualizzazione software-only Tra il 2005 e il 2006 i due principali produttori di processori, Intel e AMD, hanno lavorato indipendentemente per modificare l architettura dei processori, allo scopo di affrontare e risolvere alcuni problemi legati alla virtualizzazione software. Ring aliasing Si verifica quando un software viene eseguito ad un livello di privilegio diverso da quello per il quale è stato scritto. Address-space compression Il Guest OS si aspetta di avere accesso a tutto lo spazio indirizzabile virtuale del processore ma in realtà l hypervisor deve riservarsi una porzione dello spazio indirizzabile del Guest per memorizzare le strutture dati e le istruzioni e deve implementare meccanismi di sicurezza per evitare l accesso del Guest OS a tale porzione di memoria riservata. Non-faulting access to privileged state La protezione privilege-based evita che software senza alcun diritto di privilegio acceda alla CPU, generando un eccezione, che consente all hypervisor di emulare l istruzione richiesta; tuttavia è stato mostrato che esistono istruzioni sensibili che non generano eccezioni quando sono eseguite senza i privilegi sufficienti. Adverse impact on guest system calls L esecuzione di una system call da parte di un Guest OS crea un impatto negativo sulle prestazioni del sistema operativo, infatti la traduzione binaria di una system call può contenere un numero di istruzioni macchina fino a dieci volte maggiore quello di una system call nativa. Interrupt virtualization L architettura x86 fornisce meccanismi per il mascheramento delle interruzioni (interrupt masking) quando il sistema operativo non è pronto per gestirle: più precisamente utilizza l interrupt

18 CHAPTER 2. INTRODUZIONE 14 flag (IF) nel registro EFLAGS per controllare il mascheramento delle interruzioni. L hypervisor dovrebbe gestire le interruzioni e negare al software virtualizzato il controllo del mascheramento. Frequent access to privileged resources L hypervisor dovrebbe prevenire l accesso del Guest OS a risorse privilegiate generando fault ad ogni tentativo di accesso; se la frequenza dei fault è eccessiva le performance del sistema possono essere compromesse. Addressing Virtualization L hypervisor fornisce dei meccanismi d indirizzamento, come la shadow page table che introduce ulteriore overhead poichè si ha un doppio livello di memoria virtuale, quella virtuale del Guest OS virtualizzata mappata sulla memoria virtuale dell Host OS. In sintesi la virtualizzazione software-only richiede hypervisor molto complessi e difficili da progettare, e costosi computazionalmente parlando Intel Virtualization Technology (Intel VT) Intel introduce la tecnologia di virtualizzazione hardware-assisted nel 2005 in due modelli di Pentium 4, e prese il nome di Intel VT-x o Vanderpool. Questa tecnologia offre una nuova archiettura sulla quale il sistema operativo virtualizzato può essere eseguito con i privilegi adeguati, elimimando la necessità di binary translation e relativo overhead, semplificando la progettazione dell hypervisor. L Intel Virtualization Technology consiste di tre tipi di tecnologie: 1. VT-x: introduce all architettura due nuove forme di funzionamento della CPU: VMX root operation, destinata all uso da parte dell hypervisor, e VMX non root operation, corrispondente ad un ambiente x86 alternativo controllato dall hypervisor e progettato per supportare una macchina virtuale. Entrambe le modalità hanno tutti e quattro i livelli di privilegio, permettendo al software Guest di essere eseguito al ring 0. Le principali funzionalità offerte da questa tecnologia sono: x86 CPU virtualization, VT FlexMigration per facilitare la migrazione di macchine virtuali da un ambiente all altro, VT Extended Page Tables, grazie alla quale si introduce un nuovo indirizzamento della memoria, VT Virtual Processor ID per migliorare le prestazioni della macchina virtuale.

19 CHAPTER 2. INTRODUZIONE VT-d: assistenza hardware per le operazioni di I/O; poichè su un server possono coesistere molteplici VM (quindi molteplici Guest OS), il movimento di dati in ingresso e in uscita dal sistema (traffico di I/O) aumenta e diventa complesso da gestire: Intel VT-d ha l obiettivo di risolvere questo problema riducendo il coinvolgimento dell hypervisor, più precisamente consentendo all hypervisor di assegnare specifici dispositivi di I/O a specifici Guest OS. Ogni dispositivo ha quindi un area di memoria del sistema dedicata, che può essere acceduta dal dispositivo e dal Guest OS a cui il dispositivo è associato. 3. VT-c: supporto hardware che collega il singolo server alla rete del data center, all infrastruttura di memoria ed ad altri dispositivi esterni AMD Virtualization Technology (AMD-V) Quasi contemporaneamente ad Intel, AMD ha introdotto nel 2006 la propria tecnologie di virtualizzazione chiamata AMD-V o anche SVM - Secure Virtual Machine, o Pacifica nei processori Dual-Core della serie Opteron. Questa tecnologia ha lo scopo di migliorare le performance e la sicurezza della virtualizzazione attraverso estensioni hardware all architettura del sistema x86, proprio come Intel VT. Fra le principali funzionalità offerte abbiamo: l estensione al set di istruzioni x86 per consentire all hypervisor di creare più efficientemente le macchine virtuali, Taggled TLB per facilitare il context-switch da una macchina virtuale ad un altra, Nested Paging per l ottimizzazione della memoria virtualizzata, AMD-V Extended Migration, che consente all hypervisor di facilitare la migrazione in tempo reale di macchine virtuali tra processori AMD di diverse generazioni, AMD-Vi per fornire supporto ai problemi legati al traffico I/O.

20 Chapter 3 Full Virtualization e VMware 3.1 Introduzione VMware Inc. è una società per azioni sussidiaria della EMC Corporation con quartiere generale a Palo Alto, California, che si occupa di sviluppare software per la realizzazione di macchine virtuali per sistemi x86. La società fu fondata nel 1998 da Diane Greene (CEO fino al 2008), Mendel Rosenblum, Scott Devine, Edward Wang, Edouard Bugnion ed acquisita nel 2004 da EMC Corporation. Nel 2007 Intel entra nel capitale azionario di VMware Inc acquisendone il 2,5% con 218 milioni di dollari e nello stesso anno Cisco Systems ha annunciato l acquisto dell 1,6% delle azioni di VMware Inc. per 150 milioni di dollari e ha annunciato la nascita di accordi di collaborazione con VMware Inc. Nel 2008 VMware acquisisce Thinstall, società leader nella pacchetizzazione delle applicazioni. Il portfolio di virtualizzazione di VMware comprende programmi di virtualizzazione desktop e programmi di virtualizzazione enterprise, ulteriormente classificabili in commerciali e freeware. 1. Desktop Virtualization VMware Workstation E un software commerciale che consente di eseguire, creare, editare macchine virtuali; è disponibile per Windows, GNU/Linux e Mac OS X (VMware Fusion). Fra le caratteristiche salienti vi è il supporto per l accelerazione hardware 3D con Microsoft Direct3D API, il supporto per shader model e OpenGL 2.1, e dall ultima versione (VMware Workstation 8) il supporto per architettura x86-64 con Intel VT. 16

21 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 17 VMware Player E un software freeware, componente del software commerciale appena citato, rilasciato nel 2005 che esegue macchine virtuali e dall ultima versione (VMware Player 3) ne consente anche la creazione. 2. Enterprise Virtualization VMware Server E un software per la virtualizzazione di server, successore dei prodotti GSX Server della EMC Corporation che consente di creare, editare, macchine virtuali installate su una macchina server e implementa i meccanismi di comunicazione e gestione da remoto di queste tramite un architettura client/server. E stato reso freeware per promuovere il passaggio a ESX Server e nel 2010 VMware ha annunciato l interruzione del supporto a VMware Server. VMware vsphere E una vasta suite di prodotti per la virtualizzazione di server: più precisamente è composta da ESX e ESXi, software per la migrazione, software per la gestione centralizzata dell infrastruttura, software per la gestione delle repliche e tanto altro. ESX e ESXi sono hypervisor di tipo bare-metal e sono distribuiti in licenza freeware insieme a vsphere Client, il client per accedere alle macchine virtuali, mentre il resto della componentistica è commerciale. Lo scopo di questo lavoro è stato valutare le perfomance di due tecniche di virtualizzazione, Full Virtualization e Paravirtualization; per analizzare in maniera esaustiva la tecnica di Full Virtualization si è scelto di utilizzare VMware ESXi come esempio di hypervisor bare-metal e VMware Player come esempio di hypervisor hosted. 3.2 Full Virtualization Virtualizzazione della CPU La tecnica di Full Virtualization, adottata da VMware per i suoi prodotti di virtualizzazione, consiste nell implementazione dell intero hardware, cioè BIOS, CPU, RAM, dischi, schede di rete, presentato poi al Guest OS come risorse fisiche vere e proprie. VMware nel 1999 propone, come soluzione alle

22 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 18 Figure 3.1: Full Virtualization problematiche sorte dalla virtualizzazione della CPU, la tecnica di Binary Translation. Questa soluzione si basa su un traduttore Binary Translator (BT) che traduce il codice binario che il kernel di un Guest OS vuole eseguire in nuove sequenze di istruzioni che hanno lo stesso effetto sull hardware virtuale, e memorizza tali sequenze in una cache, Translator Cache (TC), per ottimizzarne l esecuzione in caso di utilizzi futuri. Le applicazioni utente non sono trattate dal BT poichè quest ultimo assume che il codice utente sia sicuro e quindi vengono eseguite direttamente sulla CPU virtuale. Il funzionamento di questa tecnica è illustrato in figura 3.1. Per illustrare più dettagliatamente il processo di traduzione si mostra il seguente esempio: si consideri una funzione isprime() che prende in input un intero e verifica se è un numero primo o meno. int isprime(int a) { for(int i=2; i<a; i++) if (a%i == 0) return 0; return 1; }

23 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 19 Quello che segue è il codice assembler della funzione per un architettura x64: isprime: mov %ecx, %edi ; %ecx = %edi (a) mov %esi, $2 ; i = 2 cmp %esi, %ecx ; is i >= a? jge prime ; jump if yes nexti: mov %eax, %ecx ; set %eax = a cdq ; sign-extend idiv %esi ; a % i test %edx, %edx ; is remainder zero? jz notprime ; jump if yes inc %esi ; i++ cmp %esi %ecx ; is i >= a? jl nexti ; jump if no prime: mov %eax, $1 ; return value in %eax ret notprime: xor %eax, %eax ; %eax = 0 ret Si invoca isprime(49) Si osservi che in realtà il codice in input al BT non è quello sovrastante ma la sua rappresentazione binaria. Il traduttore legge la memoria all indirizzo indicato dal Guest OS, classificando i byte come prefissi, codici operativi o operandi, per produrre gli intermediate representation objects (IR objects): ogni oggetto IR rappresenta un istruzione del Guest OS. Il BT accumula gli oggetti IR in un unità di traduzione Traslation Unit (TU), che corrisponde in genere ad un blocco base. Ad esempio: isprime: mov %ecx, %edi mov %esi, $2 cmp %esi, %ecx jge prime In fase di traduzione la maggior parte del codice resta invariato, ad esempio le prime tre istruzioni del TU mostrato, mentre la quarta istruzione deve essere modificata. isprime: mov %ecx, %edi mov %esi, $2 cmp %esi, %ecx

24 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 20 jge [takenaddr] ; JCC jmp [fallthraddr] Si noti che l istruzione jge è cambiata in due istruzioni translator-invoking, che producono un compiled code fragment (CCF) e l insieme dei CCF costituisce il codice tradotto; dal momento che 49 non è un numero primo, il TU che restituisce il valore 1 nella funzione non viene tradotto ma viene tradotto unicamente il TU che restituisce il valore 0. Di seguito è mostrato il codice presente nella TC: isprime : mov %ecx, %edi mov %esi, $2 cmp %esi, %ecx jge [takenaddr] nexti : mov %eax, %ecx cdq idiv %esi test %edx, %edx jz notprime inc %esi cmp %esi %ecx jl nexti jmp [fallthraddr3] notprime: xor %eax, %eax pop %r11 ; JCC ; fall-thru into next CCF ; JCC ; JCC ; RET mov %gs:0xff39eb8(%rip), %rex ; spill %rex movzx %ecx, %r11b jmp %gs:0xfc7dde0((*%rex) Sostituire il codice privilegiato con codice più sicuro è molto meno costoso dell approccio trap-and-emulate, tuttavia l overhead legato a questo tipo di virtualizzazione non è sempre basso e il BT non può catturare completamente molte funzioni, come le system call, gli interrupt, gli accessi all I/O e in generale la gestione alla memoria. E stato già osservato che il kernel ha l accesso privilegiato alle istruzioni della CPU che altri processi non hanno per cui quando un processo utente richiede al kernel di svolgere un operazione privilegiata causa un eccezione e il kernel subentra. Allo stesso tempo lo scheduler, un programma del kernel che ordina temporalmente le richieste

25 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 21 al kernel, utilizza l interruzione timer per assicurarsi che nessun processo tenti di avere il controllo della CPU per troppo tempo. Quando si esegue una system call l applicazione utente richiede il servizio al kernel attraverso le istruzioni SYSENTER e SYSEXIT. Quando un Guest OS invoca una system call si verifica il seguente problema: il Guest OS è posto in un ring di privilegio diverso sal ring 0, generalmente ring 1 o ring 3, e si invia una SYSENTER a una pagina con privilegio 0 dove ci si aspetta di trovare il sistema operativo ma vi è l hypervisor, che a sua volta deve emulare la system call, tradurre il codice e cedere il controllo al codice kernel che è eseguito nel ring 1 o ring 3. Lo stesso problema sorge una volta che il codice tradotto è stato eseguito dal Guest OS: si invia una SYSEXIT per ritornare all applicazione utente a una pagina con privilegio 0 ed è perciò necessario nuovamente l intervento dell hypervisor. Risulta evidente che una system call provoca un forte overhead, con un impatto fino a 10 volte maggiore di quello su una macchina fisica [2]. Grazie a questa tecnica VMware può virtualizzare ogni sistema operativo x86 utilizzando una combinazione di Binary Translation e tecniche di esecuzione diretta. Ogni VMM compete sulle risorse fisiche allocate a una macchina virtuale, incluso BIOS, dispositivi di I/O e gestione della memoria. Lo strato di virtualizzazione, composto da questa combinazione di traduzione binaria ed esecuzione diretta, astrae completamente il Guest OS dall hardware sottostante; il Guest OS non è consapevole di essere virtualizzato e non richiede alcuna modifica. La Full Virtualization è l unica tecnica che non richiede supporto hardware o del sistema operativo per virtualizzare istruzioni privilegiate, l hypervisor traduce tutte le istruzioni del sistema operativo on the fly e memorizza in cache i risultati per utilizzi futuri. La Full Virtualization offre il miglior livello di isolamento e sicurezza per le macchine virtuali, semplifica la migrazione e la portabilità poichè la stessa istanza del Guest OS può essere eseguita in modo virtualizzato o nativamente [9] Virtualizzazione della memoria La gestione della memoria assegnata alle macchine virtuali è un aspetto cruciale. Si ricorda che i moderni sistemi operativi utilizzano la tecnica di memoria virtuale, grazie alla quale è possibile simulare uno spazio di memoria centrale maggiore di quello fisicamente presente o disponibile, avvalendosi di dispositivi di memoria secondaria, generalmente le unità a disco. In un sistema dotato di memoria virtuale la CPU e i programmi si riferiscono alla memoria centrale con indirizzi logici o virtuali, tradotti successivamente in indirizzi

26 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 22 fisici reali da un unità apposita, la Memory Management Unit (MMU). La MMU svolge le seguenti funzioni: 1. Traduzione dell indirizzo logico in indirizzo fisico 2. Controllo della presenza in RAM dell indirizzo fisico tradotto 3. Se l indirizzo tradotto non è in RAM generazione di un page fault, eccezione che forza il sistema operativo a caricare la pagina di memoria dalla memoria secondaria alla RAM Quando si utilizza la memoria paginata la memoria viene divisa in pagine di stessa grandezza, i programmi non hanno necessità di conoscere l organizzazione della memoria poichè la gestione delle pagine è completamente gestita dalla MMU attraverso un complesso sistema di registri associativi. Se il numero delle pagine è elevato, nel caso in cui si utilizzano pagine di piccola dimensione o la memoria virtuale da emulare è vasta, il meccanismo di gestione delle pagine utilizzato dal MMU potrebbe diventare troppo complesso rallentando sensibilmente l accesso alla memoria. Il Guest OS non ha accesso alla tabella delle pagine reali, ma accede ad una tabella delle pagine che si trova su una MMU virtualizzata, chiamata shadow page table. Questa tabella da l illusione al Guest OS di poter tradurre i propri indirizzi virtuali in indirizzi fisici, ma in realtà è l hypervisor che in the shadow gestisce la reale traduzione di indirizzi logici virtuali virtualizzati in indirizzi fisici e quindi ha accesso alla MMU reale. Quando si utilizza questa tecnica detta shadow paging ogni volta che il Guest OS effettua una modifica ad una pagina è compito della MMU virtuale catturare la modifica e scrivere il cambiamento sulla shadow page table. In sintesi, come si può notare in figura 3.2 c è un livello aggiuntivo di address translation quando è in esecuzione il Guest OS: 1. guest page tables (gpt): versioni ombra delle tabelle delle pagine, sulle quali scrive il Guest OS 2. shadow page tables (spt): non visibili al Guest OS e utilizzate per effettuare la traduzione di indirizzi quando è attivo il Guest OS E compito dell hypervisor garantire la coerenza tra le spt e le gpt attraverso due tecniche: 1. write-protecting: ogni tentativo di modifica di una gpt da parte del Guest OS genera un eccezione di page fault, alla quale subentra l hypervisor che emula l operazione richiesta

27 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 23 Figure 3.2: Shadow Paging 2. Virtual TLB: il Guest OS modifica la gpt senza l intervento dell hypervisor fino a quando non prova ad accedere ad un indirizzo della gpt e avviene un page fault poichè la traduzione non è presente nella spt e a questo punto subentra l hypervisor che controlla la gpt per aggiungere la traduzione mancante nella spt ed eseguire l operazione richiesta Entrambe le tecniche sono causa di un grande numero di eccezioni di page fault di tipo guest-induced o hypervisor-induced con un conseguente impatto negativo sulle performance del sistema. Si consideri un sistema multiprocessore: la stessa istanza di una gpt può essere utilizzata per l address translation da più processori per cui o si condivide la gpt fra i processori generando overhead di controllo o si replica la gpt sui processori generando overhead legato alla memorizzazione. Il risultato è che nelle applicazioni in cui si utilizza frequentemente la memoria questo tipo di gestione della memoria è la causa principale di pessime performance dei sistemi virtualizzati. 3.3 Virtualizzazione dei dispositivi di I/O Ogni macchina virtuale ha a disposizione un insieme predefinito di base di periferiche virtuali emulate, come Floppy, DVDROM, tastiera, periferiche USB, controller IDE e SCSI, scheda video, scheda di rete Etherent, scheda audio, ecc.... La virtualizzazione di un dispositivo di I/O comporta la gestione del routing delle richieste di I/O tra i dispositivi virtuali e l hardware fisico condiviso. Quando un dispositivo comunica con il sistema operativo i dati vengono scritti in un area di memoria chiamata memory mapped I/O. Più precisamente quando il sistema operativo invia dati ad una periferica

28 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 24 trasferisce i dati dalla memoria della CPU alla memoria del dispostivo, in fase di ricezione invece il dispositivo invia i dati nell area di memoria dedicata all I/O e il sistema operativo li trasferisce nella memoria della CPU. In un ambiente virtualizzato il Guest OS ha l illusione di scrivere i dati da inviare al dispositivo nell area di memoria dedicata ma è necessario l intervento dell hypervisor che mappa l area di memory mapped I/O virtuale in quella fisica. La comunicazione tra una periferica fisica di rete e quella virtuale è composta dai seguenti passi: 1. La periferica fisica utilizza Direct Memory Access (DMA) per scrivere i pacchetti in un buffer gestito dall hypervisor 2. La periferica fisica avvisa l hypervisor attraverso un interrupt non appena terminata la copia dei dati 3. L hypervisor esamina i pacchetti in cerca della destinazione (la macchina virtuale), e copia i pacchetti nel buffer della macchina virtuale destinataria 4. La periferica virtuale avvisa il sistema operativo della macchina virtuale a cui appartiene che sono stati ricevuti i dati 3.4 VMware vsphere VMware vsphere o VMware Infrastructure è una suite di programmi e funzionalità fornite da VMware per la virtualizzazione di un infrastruttura. I principali prodotti offerti sono: 1. ESX e ESXi: hypervisor bare-metal, descritti nella prossima sezione 2. Virtual Simmetric Multi-Processing (vsmp): consente di utilizzare più processori fisici, sfrutta la tecnologia Intel Hyper-Threading per eseguire contemporaneamente due thread su una CPU 3. Virtual Machine File System (VMFS): gestisce lo storage dell architettura che può essere locale, cioè le macchine virtuali sono memorizzate sul disco del Server, o logicamente centralizzato tramite l utilizzo di Storage Area Network (SAN) o Network Attached Storage (NAS), che richiede l implementazione di un file system concorrente

29 CHAPTER 3. FULL VIRTUALIZATION E VMWARE vcenter: tool per la gestione centralizzata dell intera infrastruttura, obbligatorio per usufruire di altri prodotti come Fault Tolerance, DRS, vmotion, Storage vmotion 5. vmotion: consente la migrazione dinamica di macchine virtuali e ha come requisiti di utilizzo un architettura di storage centralizzata, una rete ad alte prestazioni e la medesima configurazione di rete su tutte le macchine 6. Distributed Resource Scheduler (DSR): ottimizza l utilizzo delle risorse tra i vari Server ESX seguendo delle regole definite dall amministratore 7. High Availability (HA): fornisce fault tolerance combinando meccanismi di bilanciamento del carico, migrazioni di macchine virtuali e monitoraggio delle risorse dei Server ESX anche se non garantisce l assenza di brevi periodi di disservizio 8. Fault Tolerance (FT): garantisce l assenza di periodi di disservizio grazie a meccanismi di replica dei Server ESX ESX e ESXi VMware ESX è una componente di vsphere disponibile in due versioni ESX e ESXi. Sono entrambi hypervisor bare-metal, eseguiti direttamente sull hardware del server senza la necessità di un sistema operativo sottostante, partizionano il server fisico in multiple macchine virtuali isolate e portabili. Ogni macchina virtuale comprende processori, memoria, interfaccia di rete, storage e BIOS. Version release history VMware ESX Server VMware ESX Server VMware ESX Server VMware ESX Server VMware Infrastructure 3.0 con VMware ESX VMware ESX 3.5 ESXi Edition

30 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 26 Figure 3.3: Architettura di VMware ESX VMware vsphere 4.0 con VMware ESXi VMware ESXi Architettura In contrasto con altri prodotti VMware, VMware ESX è eseguito direttamente sull hardware della macchina e non al di sopra di un sistema operativo, quindi include un proprio kernel. Prima della versione 5.0 veniva utilizzato un kernel Linux chiamato service console, che a runtime è considerato come la prima macchina virtuale in esecuzione. Il vmkernel è un microkernel che implementa le astrazioni necessarie per allocare l hardware disponibile a multipli workload (macchine virtuali) isolati l uno dall altro, come si può osservare in figura 3.3. Gli elementi chiave dell architettura sono: 1. Layer di virtualizzazione, che offre un ambiente virtuale al di sopra delle risorse fisiche che controlla 2. Manager delle risorse, che abilita il partizionamento e l allocazione di CPU, memoria, banda di rete e banda di disco a ogni macchina virtuale 3. Device Driver ESX implementa hardware virtualization; il Guest OS e le applicazioni da esso eseguite non possono direttamente determinare quale specifica risorsa

31 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 27 sottostante stanno usando, come la specifica CPU in un architettura multiprocessore, la locazione di memoria fisica su cui è mappata una certa pagina di memoria. La virtualizzazione della CPU alterna l esecuzione diretta di istruzioni non privilegiate alla tecnica di traduzione binaria. Il vmkernel controlla CPU e memoria in modo diretto utilizzando la tecnica scan-beforeexecution (SBE) per gestire le istruzioni privilegiate e utilizza la System Resource Allocation Table (SRAT) per tracciare la memoria allocata. Le macchine virtuali non possono comunicare fra loro e scambiare dati se non tramite i tradizionali protocolli di rete utilizzati per la comunicazione di macchine fisiche distinte. Questo isolamento consente a molti utenti di costruire firewall interni o altri ambienti di isolamento di rete, consentendo ad alcune macchine di uscire all esterno della rete, ed ad altre di rimanere connesse all interno di reti virtuali attraverso altre macchine virtuali. Le funzioni di gestione del sistema e le interfacce sono implementate nella service console. Queste includono HTTP, SNMP, funzioni per l autenticazione. La service console è installata come prima componente ed è usata per il bootstrap dell installazione di ESX Server e per la configurazione, per il boot del sistema e per avviare l esecuzione del layer di virtualizzazione e il gestore delle risorse. La service console è implementata utilizzando una distribuzione di Linux modificata. L accesso alle altre componenti hardware viene effettuato tramite l utilizzo dei moduli utilizzati nel kernel Linux. Il vmkernel utilizza i seguenti device drivers: 1. net/e net/e net/e1000e 4. net/bnx2 5. net/tg3 6. net/forcedeth 7. net/pcnet32 8. block/cciss 9. scsi/adp94xx

32 CHAPTER 3. FULL VIRTUALIZATION E VMWARE scsi/aic7xxx 11. scsi/aic79xx 12. scsi/ips 13. scsi/lpfcdd-v scsi/megaraid2 15. scsi/mptscsi 2xx 16. scsi/qla2200-v scsi/megaraid sas 18. scsi/qla scsi/qla scsi/vmkiscsi 21. scsi/aacraid esx scsi/lpfcdd-v7xx 23. scsi/qla2200-v7xx La service console fornisce un API che consente di controllare le macchine virtuali e l allocazione delle risorse. L amministratore può accedere alla console in locale o in remoto poichè nella service console è in esecuzione un Web Server. Con il passaggio a ESXi è stata eliminata la service console, migrando una serie di funzionalità eseguite tradizionalemnte in locale dalla linea di comando verso tool di gestione remota dell infrastruttura [11]. 3.5 VMware Player VMware Player è un software distribuito in licenza free per la desktop virtualization. VMware è un hypervisor di tipo Hosted, cioè eseguito al top di un Host OS come un applicazione utente. Le funzionalità offerte da questo prodotto sono:

33 CHAPTER 3. FULL VIRTUALIZATION E VMWARE Eseguire e creare macchine virtuali su un Host OS Windows o Linux 2. Eseguire macchine virtuali senza investire in software di virtualizzazione, in sicurezza, flessibilità e portabilità 3. Utilizzo di dispositivi della macchina Host, come CD e DVD Rilasciato per la prima volta nel 2001 in versione 1.0 ha subito negli anni dei forti cambiamenti tra i quali il supporto alle librerie DirectX, le shared folders tra Host OS e Guest OS, miglioramenti all interfaccia grafica e dall ultima versione, la 3.0 è possibile creare macchine virtuali. VMware Player si installa come una normale applicazione sul sistema operativo. Quando viene eseguito, la porzione di applicazione VMApp utilizza un driver caricato nell Host OS, VMDriver per eseguire il monitor VMM direttamente sull hardware. Da questo momento in poi il processore fisico sta eseguendo sia l ambiente dell Host OS sia l ambiente del Guest OS ed esegue continuamente contextswitch tra i due ambienti grazie al VMDriver. Si ricorda che la virtualizzazione della CPU è compito del VMM che combina esecuzione diretta di codice sicuro e traduzione binaria. L architettura hosted del sistema, mostrata in figura 3.4 è un potente modo per garantire compatibilità con la vasta gamma di hardware disponibile ai giorni nostri e creare un livello di astrazione fra l hardware fisico e l implementazione software di questo: per esempio un programma scritto per riprodurre CD-ROM audio funzionerà sia con dispositivi CD-ROM IDE che SCSI poichè i sistemi operativi offrono un interfaccia astratta del dispositivo CD-ROM. VMware Player, come VMware Workstation, si avvale di questa generalità offerta dai sistemi operativi per garantire la compatibilità con intere classi di hardware senza necessitare di speciali driver.

34 CHAPTER 3. FULL VIRTUALIZATION E VMWARE 30 Figure 3.4: Architettura Hosted di VMware Player e VMware Workstation

35 Chapter 4 Para Virtualization e Xen 4.1 Introduzione L hypervisor Xen [22], [21] è stato creato da Keir Fraser e Ian Pratt, come parte del progetto di ricerca XenoServer presso l università di Cambrige alla fine degli anni 90. Nel 2004 viene fondato XenSource Inc. che converte Xen Hypervisor da tool di ricerca a prodotto competitivo per l enterprise computing con l immediato rilascio di Xen 1.0 seguito da Xen 2.0. Nel 2005 Xen Hypervisor nella versione 2.0 è stato utilizzato da Red Hat, Novell e SUN. Nel 2006 Microsoft e VMware adottano anche loro il concetto di paravirtualizzazione introdotto finora solo dalla comunità di Xen. Nel 2007 XenServer è stato acquisito dalla Citrix Systems una società fondata da Ed Jacobucci un ex sviluppatore della IBM, acquisizione di cruciale importanza per il progetto Xen. Nel 2010 è nato Xen 4.0 e nel 2011 il kernel linux è stato il primo a permettere il boot di Xen come Dom 0 out-of-the-box. Nel kernel linux 3.x è stato aggiunto il totale supporto a Xen Dom 0 e Dom U consentendo alla maggior parte delle distribuzioni Linux di introdurre Xen. La comunity di Xen attualmente ha all attivo circa 250 contribuenti, come in figura 4.1 e tra i più attivi abbiamo IBM, HP, INTEL, VA LINUX, AMD, RED HAT, NOVELL, FUJITSU, BULL ed SGI. I vantaggi di avere una community così ampia rende i tempi di commercializzazione di nuovo hardware e di nuove feature molto rapidi e il supporto di una community open-source permette anche un rapido sviluppo, un minor numero di bug e aggiornamenti molto rapidi. L hypervisor Xen a differenza della soluzione di Vmware ESX adotta un 31

36 CHAPTER 4. PARA VIRTUALIZATION E XEN 32 Figure 4.1: Contribuenti di Xen approccio filosoficamente differente alla virtualizzazione. In Xen la tecnologia utilizzata per la virtualizzazione viene definita paravirtualizzazione. La paravirtualizzazione lavora introducendo una porzione di software molto piccola e compatta che viene eseguita direttamente sull hardware fornendo i vari servizi ai sistemi operativi virtualizzati. In essa la principale differenza con la Full Virtualization è la presenza di un sistema operativo che deve ospitare l hypervisor, infatti nella paravirtualizzazione Xen è un semplice core che utilizza tutte le risorse fornite dal sistema operativo ospitante al fine di eseguire e quindi suddividere l utilizzo delle risorse con altri sistemi operativi. 4.2 La Filosofia di Xen Il primo concetto che deve essere chiarito per approciare la paravirtualizzazione è quello delle istruzioni privilegiate, che sono di fondamentale importanza in essa. Esistono vari livelli di esecuzione di istruzioni e ora analizzeremo quelle per le piattaforme x86, in figura 4.2, e x86-64, in figura 4.3. Nelle piattaforme x86 esistono quattro livelli di esecuzione delle istruzioni, chiamati Ring e numerati da 0 a 3 (lato sinistro figura 4.2). Il primo è il ring

37 CHAPTER 4. PARA VIRTUALIZATION E XEN 33 Figure 4.2: Piattaforme x86 0 nel quale vengono eseguite istruzioni con massimo privilegio ossia quelle del kernel del sistema operativo, il secondo e il terzo non sono utilizzati, il quarto è il livello con il quale vengono eseguite le istruzioni delle applicazioni. Nelle piattaforme x86-64 il numero di ring è stato ridotto da 4 a 2 (lato sinistro figura 4.3), abbiamo quindi solo il ring 0 dove si posiziona il kernel e il ring 3 dove risiedono le applicazioni. In generale quando una applicazione in esecuzione sul ring 4 necessita di eseguire istruzioni privilegiate richiede al kernel del sistema operativo la loro esecuzione. Nella Full Virtualization il Guest-OS può eseguire le istruzioni privilegiate, invence con Xen e quindi con la paravirtualizzazione solo l hypervisor può eseguire tutte le istruzioni privilegiate, si trova sul ring 0, mentre il sistema operativo virtualizzato è collocato sul ring 1(lato destro figura 4.2). L hypervisor, che adesso si trova sul ring 0, è però in esecuzione sull Host- OS, anche esso in esecuzione sul ring 0, che provvede a fornirgli i driver per l hardware, il kernel e lo spazio utente. Avere un hypervisor incorporato nel sistema operativo rende possibile una sua implementazione quanto più piccola e semplice possibile, evitando di inserire nell hypervisor codice come quello dei driver. Nelle piattaforme x86-64 Xen viene modificato per posizionare il Kernel dei sistemi virtualizzati a ring 3 e il Guest-OS con l hypervisor a ring

38 CHAPTER 4. PARA VIRTUALIZATION E XEN 34 Figure 4.3: Piattaforme x In questa situazione Xen utilizza i meccanismi di protezione delle pagine per isolare i diversi sistemi operativi virtualizzati. Il secondo concetto di fondamentale importanza nella paravirtualizzazione riguarda il ruolo delle system call. L hypervisor espone un insieme di API, chiamate Hyper Call, che consentono a sistemi operativi virtualizzati di interfacciarsi con l hardware. In figura 4.4 possiamo vedere come nei sistemi operativi nativi (parte sinistra della figura) le applicazioni sul ring 3 possono eseguire istruzioni privilegiate utilizzando le normali system call che vengono eseguite a ring 0 dal kernel; in Xen le applicazioni chiedono l esecuzione di istruzioni privilegiate all hypervisor che si trova su ring 0 e questo eseguirà l istruzione sul kernel, ottenendo l eventuale risultato e restituendolo all applicazione (parte destra della figura). In figura 4.5 mostriamo il quadro generale delle differenze architetturali tra le due piattaforme di virtualizzazione in analisi. Nella figura la parte destra mostra l astrazione della virtualizzazione fornita dalla Full Virtualization in VMware ESX, mentre quella sinistra l astrazione di Xen. In Xen come possiamo vedere dalla figura il Dom 0 rappresenta il livello di astrazione nella paravirtualizzazione, mentre nella Full Virtualization abbiamo ESX.

39 CHAPTER 4. PARA VIRTUALIZATION E XEN 35 Figure 4.4: System Call e Hypercall

40 CHAPTER 4. PARA VIRTUALIZATION E XEN 36 Figure 4.5: Full Vs Para - Virtualization 4.3 L architettura di Xen Per definire meglio l architettura di Xen approfondiamo adesso il concetto di Dom0 e DomU per Xen Domain 0(privileged) Dato che Xen non include alcun driver di periferica nè un interfaccia utente, questi vengono tutti forniti dal sistema operativo e dallo spazio utente in esecuzione nel guest-dom0. Il sistema operativo in esecuzione sul Dom0 ha il compito di gestire i diversi dispositivi hardware e dato che la maggior parte dell hardware non ha il supporto nativo per i diversi sistemi operativi virtualizzati, sarà il sistema operativo in esecuzione sul Dom0 a fornire l accesso all hardware per i sistemi ospitati. Sul Dom0 vi sono diversi processi che hanno il compito sia di gestire che controllare le macchine virtuali in esecuzione (figura 4.6: xend: è un programma server scritto in Python che riceve i comandi di gestione delle macchine virtuali e ne restituisce l esito; le richieste sono

41 CHAPTER 4. PARA VIRTUALIZATION E XEN 37 Figure 4.6: Processi di gestione e controllo di Xen inviate dal processo client Xm attraverso un interfaccia XML RPC; xenstored: back-end storage, memorizza i sistemi in esecuzione su dom U e inoltre mantiene un registro degli eventi che intercorrono tra il Domain 0 e gli altri Domani U; xm: è il tool a riga di comando attraverso il quale si inviano i domandi a xend Per fare un esempio mostriamo come un pacchetto TCP inviato da una macchina virtuale, sfrutta l architettura del sistema di virtualizzazione. In figura 4.7 l applicazione in esecuzione, un sistema operativo a DomU, vuole inviare un pacchetto TCP e lo aggiunge allo stack TCP/IP. Lo Split Device Drive (che rappresenta l interfaccia di rete e sarà descritto in seguito) inserirà questo pacchetto su un segmento di memoria condivisa di Xen, il quale provvederà a trasferirlo allo Split Device Driver del sistema operativo in esecuzione a Dom0 che provvederà all instradamento sul reale driver e quindi all interfaccia di rete fisica. Analizziamo le caratteristiche delle tre componenti coinvolte nell esempio per l instradamento del pacchetto TCP: Split Driver: progettato per essere il più semplice possibile, rappresenta la controparte virtuale del real driver alle macchine virtuali in

42 CHAPTER 4. PARA VIRTUALIZATION E XEN 38 Figure 4.7: Esempio di pacchetto TCP in Xen

43 CHAPTER 4. PARA VIRTUALIZATION E XEN 39 esecuzione sul domu e ha il compito di spostare i dati dal DomU al Dom0 utilizzando di solito il buffer ad anello della memoria condivisa; Real Driver: sono presenti nel sistema operativo in esecuzione sul Dom0 e non sono considerati una vera e propria parte di Xen dato che questo è sprovvisto di driver; Multiplexer: nell esempio appena vista era lo stesso protocollo TCP ad effettuare l operazione di multiplexing dei pacchetti, in altri casi è Xen stesso a dover offrire il sistema di multiplexing per gestire i dati dei vari DomU Domain U(nprivileged) Ai sistemi operativi in esecuzione sul DomU non è permesso effettuare system call direttamente sull hardware, infatti implementa gli Split Device Driver che vanno a sotituire i Real Driver per ogni categoria di dispositivi. Tali argomentazioni chiariscono la principale differenza tra paravirtualizzazione e virtualizzazione piena, infatti paravirtualizzare un Guest-OS destinato all esecuzione sul DomU comporta modfiche al kernel, non solo per consentire l utilizzo delle hypercall ma anche per la codifica degli Split Device Driver. In Xen inoltre possiamo avere un numero arbitrario di sistemi operativi in esecuzione sul DomU; nel lavoro [21] sono stati eseguiti test per valutare il massimo supporto in termini di sistemi virtualizzabili conteporaneamente in Xen, ed i risultati hanno mostrato che esiste la possibilità di eseguire fino a 100 domini contemporaneamente. Xen fornisce la possibilità di migrare i vari sistemi operativi in esecuzione se essi utilizzano configurazioni di storage che consentono la migrazione (NFS, iscsi). Anche se Xen viene utilizzato solo come strumento per la valutazione delle differenze prestazionali tra para e full virtualization, esso offre la possibilità di virtualizzare sistemi proprietari, come Windows Xp, ovvero non modificabili, utilizzando l Hardware Virtual Machine (HVM). La differenza tra le due modalità di virtualizzazione in Xen è la fase di avvio di un Host, nella versione para la fase di boot avviene in modalità protetta con pagine di memoria condivise con l hypervisor, mentre nell HVM la fase di boot è reale e ottiene le informazioni da un bios emulato e non si utilizzano le hypercall ma i tradizionali meccanismi della Full Virtualization.

44 CHAPTER 4. PARA VIRTUALIZATION E XEN 40 Figure 4.8: Configurazione Configurazioni dell hypervisor Ci sono diverse modalità di configurazione di Xen e dei sistemi virtualizzati. La prima madalità, in figura 4.8, è chiaramente la più semplice: abbiamo un sistema operativo in esecuzione sul Dom0, il quale controlla tutto l hardware e offre le funzionalità necessarie all hypervisor il quale a sua volta gestisce e controlla i sistemi operativi in esecuzione a DomU. In questa configurazione se un driver in esecuzione sul Dom0 dovesse contere un bug potrebbe mandare in crash tutto il kernel del Dom0. La soluzione a questo problema è la seconda configurazione possibile, mostrata in figura 4.9: è possibile osservare come i driver siano stati isolati in un dominio a parte il quale esporta lo Split Device Driver; questo dominio deve essere un sistema in grado di gestire gli specifici driver. Sempre in questa configurazione viene presentato anche un esempio di un sistema operativo virtualizzato da Xen in HVM che non utilizza gli Split Device Driver ma l emulazione dei Device drivers da parte del Dom0. L ultima configurazione viene utilizzata sui cluster, come da figura I

45 CHAPTER 4. PARA VIRTUALIZATION E XEN 41 Figure 4.9: Configurazione 3

46 CHAPTER 4. PARA VIRTUALIZATION E XEN 42 Figure 4.10: Configurazione 3

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE Tesi di laurea ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE Anno Accademico 2010/2011 Relatore Ch.mo prof. Marcello Cinque Candidato Guido Borriello Matr. 528/1336

Dettagli

2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO

2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO 2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO In questo capitolo verranno prese in considerazione le soluzioni tecnologiche e gli approcci implementativi della virtualizzazione basata su partizionamento

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA Corso di Sistemi Operativi Prof. Stefano Berretti SEMINARIO: VIRTUALIZZAZIONE DI INFRASTRUTTURE INFORMATICHE a cura di: Nicola Fusari A.A. 2012/2013

Dettagli

Architetture software. Virtualizzazione

Architetture software. Virtualizzazione Sistemi Distribuiti Architetture software 1 Virtualizzazione 2 1 Virtualizzazione (motivazioni) Sullo stesso elaboratore possono essere eseguiti indipendentemente d t e simultaneamente t sistemi i operativi

Dettagli

Protezione del Kernel Tramite Macchine Virtuali

Protezione del Kernel Tramite Macchine Virtuali Protezione del Kernel Tramite Macchine Virtuali Fabio Campisi Daniele Sgandurra Università di Pisa 27 Novembre 2007 1/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa Sommario della

Dettagli

Virtualizzazione. Orazio Battaglia

Virtualizzazione. Orazio Battaglia Virtualizzazione Orazio Battaglia Definizione di virtualizzazione In informatica il termine virtualizzazione si riferisce alla possibilità di astrarre le componenti hardware, cioè fisiche, degli elaboratori

Dettagli

Manuale Servizi di Virtualizzazione e Porta di Accesso Virtualizzata

Manuale Servizi di Virtualizzazione e Porta di Accesso Virtualizzata Manuale Servizi di Virtualizzazione e Porta di Accesso Virtualizzata COD. PROD. D.6.3 1 Indice Considerazioni sulla virtualizzazione... 3 Vantaggi della virtualizzazione:... 3 Piattaforma di virtualizzazione...

Dettagli

Virtualizzazione e Macchine Virtuali

Virtualizzazione e Macchine Virtuali Virtualizzazione e Macchine Virtuali Gabriele D Angelo, Ludovico Gardenghi {gda, garden}@cs.unibo.it http://www.cs.unibo.it/~gdangelo/ http://www.cs.unibo.it/~gardengl/ Università di Bologna Corso di Laurea

Dettagli

3. PRODOTTI PER LA VIRTUALIZZAZIONE

3. PRODOTTI PER LA VIRTUALIZZAZIONE 3. PRODOTTI PER LA VIRTUALIZZAZIONE In questo capitolo verranno descritti alcuni dei prodotti commerciali e dei progetti opensource più noti; in particolare verrà presa in considerazione la soluzione SUN

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Introduzione alle virtualizzazioni

Introduzione alle virtualizzazioni Introduzione alle virtualizzazioni La virtualizzazione consente di ospitare più macchine virtuali ad un server fisico, condividendo le risorse del singolo server attraverso differenti ambienti. I server

Dettagli

D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche

D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche Il Cloud Computing La visualizzazione nella Cloud Problematiche Virtualizzazione della GPU Front end Virtualization

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi basati su kernel Sistemi con microkernel Sistemi con

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Ottimizzazione dell infrastruttura per la trasformazione dei data center verso il Cloud Computing

Ottimizzazione dell infrastruttura per la trasformazione dei data center verso il Cloud Computing Ottimizzazione dell infrastruttura per la trasformazione dei data center verso il Cloud Computing Dopo anni di innovazioni nel settore dell Information Technology, è in atto una profonda trasformazione.

Dettagli

Tecnologie per la Virtualizzazione. Ernesto Damiani, Claudio A. Ardagna Lezione 3

Tecnologie per la Virtualizzazione. Ernesto Damiani, Claudio A. Ardagna Lezione 3 Tecnologie per la Virtualizzazione Ernesto Damiani, Claudio A. Ardagna Lezione 3 1 Agenda Cpu Virtuali, Gestione della RAM Introduzione al VMFS La virtualizzazione dei Desktop La virtualizzazione dei Server

Dettagli

Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM

Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM Virtualizzazione con KVM Considerazioni Legge di Gordon Moore (co-fondatore di Intel): «Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi.» http://it.wikipedia.org/wiki/legge_di_moore

Dettagli

FAMIGLIA EMC VPLEX. Continuous availability e data mobility all'interno e tra i data center

FAMIGLIA EMC VPLEX. Continuous availability e data mobility all'interno e tra i data center FAMIGLIA EMC VPLEX Continuous availability e data mobility all'interno e tra i data center CONTINUOUS AVAILABILITY E DATA MOBILITY PER APPLICAZIONI MISSION- CRITICAL L'infrastruttura di storage è in evoluzione

Dettagli

Come Funziona. Virtualizzare con VMware

Come Funziona. Virtualizzare con VMware Virtualize IT Il Server? Virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente

Dettagli

Tecnologie per la Virtualizzazione. Ernesto Damiani, Claudio A. Ardagna Lezione 2

Tecnologie per la Virtualizzazione. Ernesto Damiani, Claudio A. Ardagna Lezione 2 Tecnologie per la Virtualizzazione Ernesto Damiani, Claudio A. Ardagna Lezione 2 1 Agenda Caratteristiche degli hypervisor più diffusi Tipi di Licenze e costi delle soluzioni virtualizzate La suite VMWare

Dettagli

Virtualizzazione. Ciò si ottiene introducendo un livello di indirezione tra la vista logica e quella fisica delle risorse.

Virtualizzazione. Ciò si ottiene introducendo un livello di indirezione tra la vista logica e quella fisica delle risorse. Virtualizzazione Dato un sistema caratterizzato da un insieme di risorse (hardware e software), virtualizzare il sistema significa presentare all utilizzatore una visione delle risorse del sistema diversa

Dettagli

Cloud Service Factory

Cloud Service Factory Cloud Service Factory Giuseppe Visaggio Dipartimento di Informatica- Università di Bari DAISY-Net visaggio@di.uniba.it DAISY-Net DRIVING ADVANCES OF ICT IN SOUTH ITALY Net S. c. a r. l. 1 Il Cloud Computing

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria M. Boari, M. Balboni, Tecniche di virtualizzazione: teoria e pratica, Mondo Digitale, Marzo 2007. J. Daniels, Server virtualization architecture

Dettagli

Parte VI SISTEMI OPERATIVI

Parte VI SISTEMI OPERATIVI Parte VI SISTEMI OPERATIVI Sistema Operativo Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di riconoscere i comandi

Dettagli

Panoramica delle funzionalita

Panoramica delle funzionalita Panoramica delle funzionalita Edizioni vsphere 4 Gestione su larga scala di applicazioni di produzione critiche DRS / DPM Storage vmotion Host Profiles Distributed Switch DRS / DPM Storage vmotion Prodotti

Dettagli

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione Potenza Elaborativa, Sistemi Operativi e Virtualizzazione Roma, Febbraio 2011 Operating Systems & Middleware Operations Potenza Elaborativa e Sistemi Operativi La virtualizzazione Operating Systems & Middleware

Dettagli

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Introduzione: 1. Principi di base dei sistemi operativi 2. Sistemi

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

IBM Tivoli Storage Manager for Virtual Environments

IBM Tivoli Storage Manager for Virtual Environments Scheda tecnica IBM Storage Manager for Virtual Environments Backup senza interruzioni e ripristino immediato: un processo più semplice e lineare Caratteristiche principali Semplificare la gestione del

Dettagli

IBM iseries Soluzioni integrate per xseries

IBM iseries Soluzioni integrate per xseries Soluzioni innovative per l integrazione dei server Intel IBM iseries Soluzioni integrate per xseries La famiglia iseries, il cui modello più recente è l _` i5, offre due soluzioni che forniscono alternative

Dettagli

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE LUG - CREMONA Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE In informatica la virtualizzazione consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente

Dettagli

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare Facoltà di Lingue e Letterature Straniere Software È un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici (=

Dettagli

Il supporto al Sistema Operativo

Il supporto al Sistema Operativo Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:

Dettagli

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E Lezione 5: Software Firmware Sistema Operativo Architettura del Calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti: Hardware e Software Firmware: strato di (micro-)programmi

Dettagli

Analisi di prestazioni di applicazioni web in ambiente virtualizzato

Analisi di prestazioni di applicazioni web in ambiente virtualizzato tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Andrea Toigo in collaborazione con candidato Antonio Trapanese Matr. 534/1485 La virtualizzazione è un

Dettagli

Tecnologie di virtualizzazione per il consolidamento dei server

Tecnologie di virtualizzazione per il consolidamento dei server Tecnologie di virtualizzazione per il consolidamento dei server Simone Balboni Seminario del corso Sistemi Operativi Bologna, 2 marzo 2006 Virtualizzazione e consolidamento dei server un caso concreto:

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows IBM SPSS Modeler Server può essere installato e configurato per l esecuzione in modalità di analisi distribuita insieme ad altre installazioni

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

Dettagli

VIRTUAL INFRASTRUCTURE DATABASE

VIRTUAL INFRASTRUCTURE DATABASE ALLEGATO B5.3 VIRTUAL INFRASTRUCTURE DATABASE Situazione alla data 30.6.2011 Pag. 1 di 6 AIX Logical Partitions Database L infrastruttura dell ambiente RISC/AIX viene utilizzata come Data Layer; fornisce

Dettagli

IBM Tivoli Endpoint Manager for Lifecycle Management

IBM Tivoli Endpoint Manager for Lifecycle Management IBM Endpoint Manager for Lifecycle Management Un approccio basato sull utilizzo di un singolo agente software e un unica console per la gestione degli endpoint all interno dell intera organizzazione aziendale

Dettagli

Backup e ripristino per ambienti VMware con Avamar 6.0

Backup e ripristino per ambienti VMware con Avamar 6.0 White paper Backup e ripristino per ambienti VMware con Avamar 6.0 Analisi dettagliata Abstract Con l aumento incalzante degli ambienti virtuali implementati nel cloud delle aziende, è facile notare come

Dettagli

PICCOLE E MEDIE IMPRESE, UNA SOLUZIONE AD HOC. Soluzioni per le PMI

PICCOLE E MEDIE IMPRESE, UNA SOLUZIONE AD HOC. Soluzioni per le PMI PICCOLE E MEDIE IMPRESE, UNA SOLUZIONE AD HOC Soluzioni per le PMI Windows Server 2012 e System Center 2012 Informazioni sul copyright 2012 Microsoft Corporation. Tutti i diritti sono riservati. Il presente

Dettagli

confinamento e virtualizzazione 2006-2009 maurizio pizzonia sicurezza dei sistemi informatici e delle reti

confinamento e virtualizzazione 2006-2009 maurizio pizzonia sicurezza dei sistemi informatici e delle reti confinamento e virtualizzazione 1 oltre i permessi dei file... nei sistemi operativi standard il supporto per il confinamento è abbastanza flessibile per quanto riguarda i files scarso per quanto riguarda

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

Dettagli

Il computer: primi elementi

Il computer: primi elementi Il computer: primi elementi Tommaso Motta T. Motta Il computer: primi elementi 1 Informazioni Computer = mezzo per memorizzare, elaborare, comunicare e trasmettere le informazioni Tutte le informazioni

Dettagli

Informatica 1. 6 Sistemi operativi e software. ing. Luigi Puzone

Informatica 1. 6 Sistemi operativi e software. ing. Luigi Puzone Informatica 1 6 Sistemi operativi e software ing. Luigi Puzone Windows caratteristiche principali: Windows è un Sistema Operativo Con Interfaccia Grafica Multiutente Multitasking Multithreading Multiprocessing

Dettagli

Indice generale. Introduzione...xiii. Perché la virtualizzazione...1. Virtualizzazione del desktop: VirtualBox e Player...27

Indice generale. Introduzione...xiii. Perché la virtualizzazione...1. Virtualizzazione del desktop: VirtualBox e Player...27 Indice generale Introduzione...xiii A chi è destinato questo libro... xiii Struttura del libro...xiv Capitolo 1 Capitolo 2 Perché la virtualizzazione...1 Il sistema operativo... 1 Caratteristiche generali

Dettagli

Efficienza, crescita, risparmi. Esploriamo il pianeta tecnologia VMware VSphere4

Efficienza, crescita, risparmi. Esploriamo il pianeta tecnologia VMware VSphere4 Efficienza, crescita, risparmi. Esploriamo il pianeta tecnologia VMware VSphere4 La piattaforma di virtualizzazione di nuova generazione L infrastruttura Virtuale permette di allocare alle applicazioni

Dettagli

2006-2011 maurizio pizzonia sicurezza dei sistemi informatici e delle reti. confinamento e virtualizzazione

2006-2011 maurizio pizzonia sicurezza dei sistemi informatici e delle reti. confinamento e virtualizzazione confinamento e virtualizzazione 1 oltre i permessi dei file... nei sistemi operativi standard il supporto per il confinamento è abbastanza flessibile per quanto riguarda i files scarso per quanto riguarda

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono:

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

Licenza di vcloud Suite

Licenza di vcloud Suite vcloud Suite 5.5 Questo documento supporta la versione di ogni prodotto elencato e di tutte le versioni successive finché non è sostituito da una nuova edizione. Per controllare se esistono versioni più

Dettagli

Virtualizzazione. Di tutti. Per tutti.

Virtualizzazione. Di tutti. Per tutti. Virtualizzazione. Di tutti. Per tutti. Autore: Claudio Cardinali Email: claudio@csolution.it 1 Agenda L.T.S.P. Linux Terminal Server Project Virtualizzazione K.V.M. Kernel Based Virtual Machine Deploy

Dettagli

L infrastruttura tecnologica del cnr irpi di perugia

L infrastruttura tecnologica del cnr irpi di perugia Sabato 8 marzo 2014 Aula Magna ITTS «A. Volta» - Perugia L infrastruttura tecnologica del cnr irpi di perugia VINICIO BALDUCCI Istituto di Ricerca per la Protezione Idrogeologica Consiglio Nazionale delle

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Un confronto prestazionale tra tecnologie di virtualizzazione

Un confronto prestazionale tra tecnologie di virtualizzazione POLITECNICO DI MILANO Sede di Como Corso di Laurea in Ingegneria Informatica Dipartimento di Elettronica e Informazione Un confronto prestazionale tra tecnologie di virtualizzazione Relatore: Prof. Paolo

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

Dettagli

Soluzioni innovative per la semplificazione dell infrastruttura IT. Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems

Soluzioni innovative per la semplificazione dell infrastruttura IT. Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems Soluzioni innovative per la semplificazione dell infrastruttura IT Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems Caratteristiche principali La flessibilità e la scalabilità della

Dettagli

Strutture dei sistemi operativi

Strutture dei sistemi operativi Contenuti della lezione di oggi Strutture dei sistemi operativi Descrizione dei servizi messi a disposizione dell utente dal SO Utente generico Programmatore Esame delle possibili strutture di un SO Monolitica

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Installazione di IBM SPSS Modeler 15 Batch per UNIX

Installazione di IBM SPSS Modeler 15 Batch per UNIX Installazione di IBM SPSS Modeler 15 Batch per UNIX Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Batch versione 15. IBM SPSS Modeler La modalità batch offre le stesse funzionalità

Dettagli

Introduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese

Introduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese Introduzione al sistema operativo Laboratorio Software 2008-2009 C. Brandolese Che cos è un sistema operativo Alcuni anni fa un sistema operativo era definito come: Il software necessario a controllare

Dettagli

Sistemi Operativi (modulo di Informatica II) Architettura

Sistemi Operativi (modulo di Informatica II) Architettura Sistemi Operativi (modulo di Informatica II) Architettura Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Obiettivi di un sistema operativo Concetti di base sui sistemi operativi

Dettagli

Software che sovrintende al funzionamento del computer eseguendo compiti diversi:

Software che sovrintende al funzionamento del computer eseguendo compiti diversi: Sistema Operativo dispensa a cura di Alessandro Bellini Software che sovrintende al funzionamento del computer eseguendo compiti diversi: 1. Gestire interazione utente macchina 2. Fornire un interfaccia

Dettagli

Brochure DATA CENTER. www.novell.com. Novell Cloud Manager. Costruite e gestite ambienti cloud privati. (Finalmente è arrivato il cloud)

Brochure DATA CENTER. www.novell.com. Novell Cloud Manager. Costruite e gestite ambienti cloud privati. (Finalmente è arrivato il cloud) Brochure DATA CENTER Novell Cloud Manager Costruite e gestite ambienti cloud privati (Finalmente è arrivato il cloud) Novell Cloud Manager: il modo più semplice per creare e gestire ambienti cloud WorkloadIQ

Dettagli

Virtualizzazione e Network management

Virtualizzazione e Network management Open Source per le infrastrutture IT aziendali Virtualizzazione e Network management Marco Vanino Spin S.r.l. Servizi IT aziendali File/Printer Server ERP CRM EMail Doc Mgmt Servizi IT aziendali File/Printer

Dettagli

Sistemi in grado di gestirsi in modo autonomo e dinamico La strategia di virtualizzazione di Microsoft

Sistemi in grado di gestirsi in modo autonomo e dinamico La strategia di virtualizzazione di Microsoft Disponibile anche sul sito: www.microsoft.com/italy/eclub/ OTTIMIZZAZIONE DELL INFRASTRUTTURA E SICUREZZA MICROSOFT Sistemi in grado di gestirsi in modo autonomo e dinamico La strategia di virtualizzazione

Dettagli

06/11/2008. SAN Storage Area Network Virtualizzazione IP Telephony e VOIP Sicurezza Network e Desktop Management Open Source

06/11/2008. SAN Storage Area Network Virtualizzazione IP Telephony e VOIP Sicurezza Network e Desktop Management Open Source Le nuove frontiere dell informatica Perché ha senso virtualizzare? Dott. Giuseppe Mazzoli Presidente 3CiME Technology www.3cime.com Perché ha senso virtualizzare? Giuseppe Mazzoli - 3CiME Technology Citrix

Dettagli

GNU/Linux Intermedio. Seconda lezione: FONDAMENTI DEI SISTEMI OPERATIVI

GNU/Linux Intermedio. Seconda lezione: FONDAMENTI DEI SISTEMI OPERATIVI GNU/Linux Intermedio Seconda lezione: FONDAMENTI DEI SISTEMI OPERATIVI Duro e soffice Ogni calcolatore è fatto da componenti il cui unico scopo è quello di eseguire istruzioni Senza istruzioni il calcolatore

Dettagli

Implementazione del File System

Implementazione del File System Implementazione del file system Implementazione del File System Struttura del file system. Realizzazione del file system. Implementazione delle directory. Metodi di allocazione. Gestione dello spazio libero.

Dettagli

Novità di vsphere 5.1

Novità di vsphere 5.1 Novità di vsphere 5.1 Argomenti vsphere 5.0 - Riepilogo vsphere 5.1 - Panoramica " Elaborazione, storage, rete - Miglioramenti e funzionalità " Disponibilità, sicurezza, automazione - Miglioramenti e funzionalità

Dettagli

Virtualizzazione e Privacy

Virtualizzazione e Privacy Virtualizzazione e Privacy Outline Virtualizzazione Paravirtualizzazione e Xen Virtualizzazione e anonimato (Mix Network) Virtualizzazione e privacy Isolamento servizi utente Virtual Service Domains Virtualizzazione

Dettagli

Kernel-Based Virtual Machine

Kernel-Based Virtual Machine Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Sistemi Operativi Kernel-Based Virtual Machine Anno Accademico 2013/2014 Candidato: Luigi Gallo

Dettagli

L Informatica al Vostro Servizio

L Informatica al Vostro Servizio L Informatica al Vostro Servizio Faticoni S.p.A. è Certificata UNI ENI ISO 9001:2008 N. CERT-02228-97-AQ-MILSINCERT per Progettazione, Realizzazione, Manutenzione di soluzioni Hardware e Software Soluzioni

Dettagli

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino Sistemi Operativi Modulo 2 Schema di un Sistema di Calcolo Programmi Dati di Input Calcolatore Dati di output Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica

Dettagli

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella UNIVERSITÀ DEGLI STUDI DI SALERNO FACOLTÀ DI INGEGNERIA Tesi di Laurea in INGEGNERIA ELETTRONICA PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Dettagli

Prestazioni adattabili all ambiente del business

Prestazioni adattabili all ambiente del business Informazioni sulla tecnologia Prestazioni intelligenti Prestazioni adattabili all ambiente del business Il processore Intel Xeon sequenza 5500 varia in modo intelligente prestazioni e consumo energetico

Dettagli

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema Un algoritmo distribuito può

Dettagli

Informatica di Base. Il software

Informatica di Base. Il software di Base 1 Sistemi informatici Hardware Microprocessore Memoria Periferiche di input e output Software Software di sistema Programmi applicativi 2 Il sw applicativo Il sw applicativo è costituito dall insieme

Dettagli

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e

Dettagli

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico 2013-2014. Dipartimento di Matematica e Informatica Catania

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico 2013-2014. Dipartimento di Matematica e Informatica Catania Sistemi Operativi C.d.L. in Informatica (laurea triennale) Anno Accademico 2013-2014 Dipartimento di Matematica e Informatica Catania Introduzione Prof. Mario Di Raimondo Sistemi Operativi 9 CFU (72 ore)

Dettagli

ALMA MATER STUDIORUM UNIVERSITÀ DEGLI STUDI DI BOLOGNA

ALMA MATER STUDIORUM UNIVERSITÀ DEGLI STUDI DI BOLOGNA ALMA MATER STUDIORUM UNIVERSITÀ DEGLI STUDI DI BOLOGNA Seconda Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica MODELLI E ARCHITETTURE PER LA VIRTUALIZZAZIONE DI SISTEMI INFORMATICI Elaborata

Dettagli

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

Dettagli

UD 1.5c: Il Sistema Operativo (parte 1)

UD 1.5c: Il Sistema Operativo (parte 1) Prof. Alberto Postiglione Scienze della e Facoltà di Lettere e Filosofia Università degli Studi di Salerno UD 1.5c: Il Sistema Operativo (parte 1) Informatica Generale (Laurea in Scienze della e) Sistemi

Dettagli

Exchange o documenti SharePoint in pochi secondi. Minimo impatto dei tempi di inattività e di interruzione della produttività

Exchange o documenti SharePoint in pochi secondi. Minimo impatto dei tempi di inattività e di interruzione della produttività Protezione dalle interruzioni dell'attività aziendale con funzionalità di backup e recupero rapide e affidabili Panoramica Symantec Backup Exec System Recovery 2010 è una soluzione di backup e recupero

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Il software di base Software

Dettagli

Processi nei Sistemi Distribuiti

Processi nei Sistemi Distribuiti Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Processi nei Sistemi Distribuiti Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Processi nei SD Un sistema software

Dettagli

Guida introduttiva. Fiery Network Controller per DocuColor 240/250

Guida introduttiva. Fiery Network Controller per DocuColor 240/250 Fiery Network Controller per DocuColor 240/250 Guida introduttiva In questo documento, ogni riferimento a DocuColor 242/252/260 rimanda a DocuColor 240/250. 2007 Electronics for Imaging, Inc. Per questo

Dettagli