Introduzione. Virtualizzazione. Fabio Proietti (c) 2014 Licenza:
|
|
- Maddalena Renzi
- 7 anni fa
- Visualizzazioni
Transcript
1 Introduzione I moderni elaboratori offrono prestazioni hardware elevate, come CPU multicore e svariati GB di RAM. Nelle aziende tali macchine hanno un elevato costo e devono essere utilizzate con un carico di lavoro bilanciato per evitare di sprecare inutilmente delle risorse. La cosa migliore sarebbe quella di eseguire più applicazioni di diversi utenti clienti sulla stessa macchina, suddividendo la quantità di RAM e di CPU disponibile per ogni applicazione, senza dimenticare l'attenzione per la sicurezza e la robustezza del sistema relativamente ai bug dei software. Questo tipo di soluzione può essere ottenuta con un software di livello "superiore" alle normali applicazioni che permette di controllare l'hardware e di eseguire diversi sistemi operativi contemporaneamente. Virtualizzazione In italiano la parola "virtuale" indica qualcosa di non reale, di immaginario. Quando si parla di virtualizzazione hardware (platform virtualization) si lavora usando due principali tipi di software: emulator e hypervisor. Una definizione semplificata potrebbe essere la seguente: I software emulatori consentono di emulare un hardware che non è necessariamente presente sulla macchina fisica, ad esempio, possono emulare una CPU diversa da quella effettivamente presente per poter eseguire un file binario che era destinato ad un'altra architettura hardware. I software hypervisor offrono la possibilità di aggiunegere un ulteriore livello di controllo sull'hardware effettivamente presente, per gestire in modo più sicuro, flessibile ed efficiente il software. Si vedrà che i due tipi di software possono coesistere e lavorare contemporaneamente, nel senso che ci sono alcuni hypervisor che offrono anche la funzionalità di un emulator.
2 Hypervisor Questo tipo di virtualizzazione permette di creare macchine virtuali, cioè di simulare (tramite un software chiamato proprio hypervisor) il comportamento di un'intera macchina fisica. Questo consente all'utente di utilizzare più macchine virtuali su una singola macchina fisica. Definizioni host (letteralmente oste) è la macchina ospitante guest (ospite) è la macchina virtuale ospitata presso l'host (ne possono essere ospitate più di una) La seguente figura mostra la gerarchia della relazione tra host e guest. Sulla macchina fisica ospitante (host) è eseguito un sistema operativo principale (anche lui host). Su ogni macchina virtuale (guest) può essere eseguto un diverso sistema operativo (anche lui guest). Host e guest, quindi, sono dei termini che possono essere intesi, oltre che in senso hardware, anche in senso software, infatti, non avrebbe senso simulare una macchina virtuale se non ci fosse il bisogno di eseguirvi anche un software. L'esecuzione del software guest avviene nelle macchine virtuali, sempre sotto il controllo dell'hypervisor, chiamato anche Virtual Machine Monitor (VMM). La velocità con cui si eseguono i programmi all'interno delle macchine virtuali sono quasi sempre inferiori alla velocità che si avrebbe eseguendoli in modo "nativo" (su una macchina fisica senza virtualizzazione). Un po' di storia Negli anni '70 l'azienda IBM fu tra le prime ad installare nei propri computer mainframe dei software che potevano eseguire più sistemi operativi nello stesso momento. L'utilizzo di questi sistemi era limitato prevalentemente nell'ambito dello sviluppo dei sistemi operativi o a scopo di ricerca nelle università. Fino al 2000 circa, IBM, Sun e HP continuano a vendere alcuni sistemi Unix di classe server con virtualizzazione dell'hardware che supportano anche altri operativi guest, come FreeBSD e Linux. Nel 2005 lo sviluppo degli hypervisor è tale che Intel e AMD rilasciano i primi processori con supporto di un set di istruzioni specifico per la virtualizzazione. Se vuoi sapere se la tua CPU supporta questo set di istruzioni, in eseguire cat /proc/cpuinfo, in Mac OS X eseguire sysctl machdep.cpu.features.
3 Hardware-assisted virtualization Alcuni hypervisor prevedono l'assitenza hardware per migliorare l'efficienza della virtualizzazione, infatti, alcuni tipi di CPU prevedono istruzioni specifiche per questi compiti. Alcune CPU hanno un'estensione del set di istruzione per la virtualizzazione hardware: attualmente sono chiamate istruzioni AMD-V e Intel VT-x. Intel ha introdotto un nuovo livello di privilegio nella CPU: oltre ai quattro livelli (0,1,2,3, detti anche user mode e kernel mode) vi sono i livelli root mode e non-root mode (il primo riservato al sistema hypervisor, il secondo al guest). Inoltre nel 2012 AMD annuncia l'introduzione della gestione di interrupt per macchine virtuali: Advanced Virtual Interrupt Controller (AVIC). Intel fa lo stesso con APICV. Figura 1: ket_am3_and_amd_phenom_ii_x3 _720_Black_Edition_-_flickr_2.jpg Classificazioni per gli hypervisor L'hypervisor è un software eseguito su macchina host, e gestisce questo tipo di virtualizzazione, ma ne esistono diversi tipi. Un tipo di classificazione distingue gli hypervisor in base al livello in cui vengono eseguiti questi software. Ipotizzando di assegnare all'hardware (macchina fisica) il livello zero, un hypervisor può essere di: tipo 1 (detto anche nativo o bare metal) quando l'hypervisor (VMM) si trova su un livello immediatamente sopra all'hardware e ne mantiene il controllo completo. Si contino i livelli nella figura a destra. Gli hypervisor di tipo 1 forniscono quindi anche le funzioni svolte dal sistema operativo host (che è assente). Esempi di hypervisor di tipo 1 sono Citrix XenServer, VMware ESX; tipo 2 (detto anche hypervisore hosted) quando al primo livello si trova un tradizionale sistema operativo (host), dentro il quale è installato l'hypervisor, come un'applicazione. L'hypervisor è all'interno del sistema operativo host e non comunica direttamente con la macchina fisica. Esempi di hypervisor di tipo 2 sono: VMware Workstation e VirtualBox. La precedente classificazione non è netta e ben definita perché esistono anche hypervisor che potrebbero sembrare di tipo 2, ma che invece sono dei moduli di un sistema operativo host, come, ad esempio, KVM (Kernel-based Virtual Machine). Quali vantaggi (e svantaggi) offrono hypervisor di tipo 1 rispetto a quelli di tipo 2?
4 Paravirtualizzazione Un altro tipo di classificazione è basata sulle funzionalità offerte dal software hypervisor, in base alle quali si possono distinguere i seguenti tipi di virtualizzazione: virtualizz. completa (full v.), in cui il sistema guest non deve essere modificato per poter essere eseguito in virtualizzazione. Questo è possibile se l'hypervisor è in grado di fornire al sistema guest un ambiente di esecuzione (virtuale) identico e indistinguibile da una reale macchina fisica; virtualizz. parziale (partial v.), in cui il software guest può dover essere adattato, prima di poter essere eseguito nella macchina virtuale. Questo si potrebbe rendere necessario per rendere efficiente la virtualizzazione quando non si dispone dell'assistenza hardware alla virtualizzazione (estensione di istruzioni specifiche della CPU). Nel caso di virtualizzazione parziale si modifica il sistema guest per adattarlo alla comunicazione con l'hypervisor. Se la virtualizzazione è parziale, il sistema guest non può sempre usare le proprie system call per accedere all'hardware, ma deve interagire con le hypercall dell'hypervisor che non simulano perfettamente un ambiente di esecuzione virtuale. Gli adattamenti del sistema guest possono anche permettere di evitare di emulare l'hardware non presente nella macchina fisica; in questo caso viene modificato il software per renderlo compatibile con l'hardware effettivamente presente. paravirtualizzazione, in cui l'adattamento del software guest è indispensabile. È possibile eseguire i sistemi operativi proprietari in paravirtualizzazione? Questi ultimi tre tipi mettono in evidenza anche chi è colui che si deve occupare dell'adattamento dell'hardware della macchina fisica nei casi in cui questa non è compatibile con il sistema guest: l'adattamento può essere svolto dalle funzionalità dell'hypervisor oppure, dal programmatore, modificando il sistema guest. Il primo caso è possibile quando l'hypervisor è in grado di riconoscere i diversi tipi di sistemi guest e quindi di interpretare le loro richieste verso l'hardware (anche emulando un hardware se necessario). Il secondo caso può essere svolto adattando le chiamate di sistema del sistema guest alla chiamate di sistema offerte dal sistema host (API).
5 Funzionamento di una virtualizzazione Cosa può fare (e cosa non può fare) un sistema guest all'interno di un sistema host? Il sistema guest è un software che viene eseguito all'interno del sistema host (apparentemente) come se avesse il completo controllo sull'hardware, mentre in realtà è il sistema host che controlla tutto. Il sistema host concede un po' l'utilizzo della CPU e riserva una certa parte della memoria perché possa essere utilizzata solo da uno dei suoi sistemi guest. Inoltre riceve anche le chiamate di sistema dai guest. Il sistema host concede ai propri sistemi guest solo delle CPU e delle memorie "virtuali". Nei moderni calcolatori, dotati di grandi risorse hardware, spesso queste sono "sprecate" perché non sono utilizzate al massimo carico a cui sarebbe possibile utilizzarle. La virtualizzazione consente di usare un computer in modo più efficiente. Il sistema guest potrebbe avere in "concessione" dall'host l'utilizzo delle porte USB o della scheda di rete (NIC) e potrebbe adottare per quest'ultima una configurazione di rete diversa da quella dell'host. L'utilizzo e l'accesso alla rete esterna (ad esempio, Internet) dipende sempre da cosa "offre" il sistema host al sistema guest. A proposito dell'accesso alla rete, la macchina potrebbe avere anche una sola scheda di rete utilizzata da diversi sistemi operativi. Questo pone il problema della separazione dei pacchetti indirizzati a diverse applicazioni su diversi sistemi operativi, che può essere risolta con la tecnica del MAC spoofing. Riassumendo Alcune tecniche utilizzate per implementare un VMM sono: binary traslation: gli eseguibili guest non sono modificati, ma sono interpretati da un software per adattarli al reale hardware presente, alla vera CPU (metodo abbastanza veloce, ma complesso) paravirtualizzazione: gli eseguibili guest sono modificati per adattarli all'hardware: il metodo è abbastanza veloce, ma il sistema guest è stato modificato. hardware-assisted virtualization: veloce, ma richiede hardware specifico
6 Immagini del disco Prerequisito: per comprendere questa parte è necessario conoscere il concetto di file system nell'ambito dei sistemi operativi. Il sistema operativo host mantiene i propri dati e programmi sul proprio hard disk. Se un secondo sistema operativo fosse installato in modo nativo nella macchina, sarebbe necessario installarlo in una nuova partizione. I dati e i programmi dei sistemi guest, invece, non hanno bisogno di una "vera" partizione, ma in una partizione virtuale, cioè sono contenuti in semplici cartelle e/o file, salvati secondo un formato oppure aperto. Per simulare la presenza di una partizione dedicata ad ogni sistema operativo guest, l'intero contenuto dei suoi file può essere "racchiuso" in un unico file, un unico archivio, chiamato "immagine" del disco. Uno dei formati più diffusi per le immagini dei dischi è il formato ISO, che è legato al file system presente in un CD e hanno estensione.iso. Un file con estensione.iso può contenere tutto quello che contiene un CD e può essere usato da un sistema operativo come se fosse un vero CD "fisico". Il vantaggio è che l'accesso al file su hard disk è più veloce rispetto a quello su lettore CD. La sostituzione di un vero CD con un file.iso è possibile perché l'immagine di un disco non contiene solo i file, ma anche i metadati che descrivono la struttura del file system (di una partizione virtuale o di un CD o di un altro dispositivo fisico). Osservazione: la parola "immagine" viene tradizionalmente usata per indicare qualcosa che può essere visualizzabile sullo schermo, ad esempio come una fotografia. Per evitare confusione, si può usare per i file system il termine "immagine del disco" oppure "disco immagine". Limitazioni Ci sono ovviamente dei limiti sulle funzioni svolte dall'host che possono essere dovute: alla sua licenza d'uso (proprietaria) a ragioni fisiche, ad esempio: massima dimensione della memoria host; massima dimensione della memoria guest; massimo numero di guest che un host può gestire; massima dimensione dell'immagine del disco di un guest. Quali di questi limiti è un limite fisico?
7 Alcuni esempi di hypervisor a confronto Le funzioni svolte sono indicate (tra parentesi) sotto il nome del software. nome bhyve (hw assist., tipo tipo 2 host CPU host os guest CPU guest os licenza FreeBSD FreeBSD, OpenBSD, Linux Microsoft Hyper-V tipo 1-2? server Xp,7,8, Server, Oracle Linux Integrity Virtual Machines tipo 1-2 IA64 HP-UX IA64 Hp-Ux, Linux Kernel-basedVM (KVM) tipo 1-2, FreeBSD IA64, PowerPC, hw assist., IA64, PowerPC Freebsd, GPLv2 LynxSecure tipo 1 x86 x86 Lynxos, PikeOS tipo 1-2 PowerPC, Mac ARM, MIPS, Sparc PowerPC, ARM, MIPS, Sparc Android, QEMU (full v., emulator, tipo 2 x8664, IA-64, PowerPC, SPARC 32/64, ARM, MIPS Mac, FreeBSD, altri x8664, Alpha, PowerPC, SPARC 32/64, ARM, MIPS Mac, Freebsd, Altri GPL/LGPL VirtualBox tipo 2 Mac, Bsd, GPL VMware ESX tipo 1 NO Freebsd, Altri NO BSD
8 nome tipo host CPU host os guest CPU guest os licenza VMware Workstation tipo 2 Linux Freebsd, Altri VMware Player tipo 2 x86 Linux Freebsd, Altri freeware Xen (parav., tipo 1 IA-32, e NetBSD, ARM, Solaris hw assist. IA-32, e ARM NetBSD, GPL Tratto da: Note: Oracle VM Manager: usa Xen e vi aggiunge una gestione tramite interfaccia web proprietaria. KVM: nel 2007 è stato integrato nel kernel.org (Linux) Xen: il sistema operativo host viene avviato come una macchina virtuale nel 2009 Microsoft ha collegato librerie GPL con software di Hyper-V, questo ha costretto Microsoft a dover fornire agli sviluppatori del kernel Linux i moduli software per far funzionare Linux su Hyper-V (in paravirtualizzazione). Cooperative Linux: non virtualizza l'hardware... Virtual machine Il termine "virtualizzazione" può essere usato in ambito informatico con un significato diverso da quello appenda descritto, nel senso di un software di virtualizzazione delle applicazioni (non dell'hardware e dei sistemi operativi). Esistono dei software usati per eseguire applicazioni scritte in bytecode e sono comunemente chiamati Virtual Machine (esempio: Java Virtual Machine). Queste virtual machine sono ambienti di esecuzione dei programmi che permettono la portabilità dei programmi (scritte in bytecode) su diversi sistemi operativi e architetture hardware, per mezzo di un interprete del bytecode. Ogni virtual machine può avere più implementazioni. Ad esempio, esistono diverse implementazioni open source della Java Virtual Machine. Approfondimento Alcuni tipi di virtual machine possono gestire la memoria in modo tradizionale, lasciando libero il controllo al sistema sulla memoria fisica, senza occuparsi dell'allocazione della memoria dei puntatori. Altre, come la Java Virtual Machine, invece offrono un'alto livello di astrazione e controllano (automaticamente) anche l'allocazione e la liberazione della memoria.
9 Emulazione hardware Abbiamo visto che nella virtualizzazione dell'hardware, il software hypervisor simula il controllo completo sulle risorse hardware, per poter fare in modo che siano condividese tra le richieste di diversi sistemi operativi. La virtualizzazione dell'hardware non va confusa con l'emulazione dell'hardware, dove il software simula il comportamente un hardware che non esiste, ad esempio, può emulare una CPU diversa da quella effettivamente presente per poter eseguire un file binario creato per un'altra architettura hardware. I due contetti sono distinti, ma nella pratica, può capitare che nell'host ci sia un sistema hypervisor che supporta solo sistemi guest appartenenti alla stessa architettura ( 64 IA64, sparc, arm, powerpc, ecc.). Altre volte può anche emulare un hardware che non esiste e può quindi eseguire sistemi operativi progettati per architetture diverse. L'emulazione è interessante per chi desidera sviluppare software che poi deve essere fatto funzionare su diverse piattaforme hardware. Esempi di emulatori hardware (in generale inefficienti) Bochs: emulatore che può eseguire diversi sistemi operativi a scopo di debug GXemul: emulatore di architetture ARM, MIPS, PowerPC, può essere usato per debug di sistemi op. DOSbox: emulatore che permetta esecuz. vecchi giochi DOS, ha licenza GPL DOSemu: è limitato all'architettura solo su sistema operativo Linux JavaPC: applicazione che emula (in una JVM) un in cui poter eseguire DOS o Linux. OVPsim: applicazione che emula qualsiasi processore e qualsiasi periferica, caricabile come modello hardware, traduce e interpreta le istruzioni di un eseguibile binario (binary translation). PearPC: applicazione che permette di eseguire codice per CPU powerpc su x86 o ; QEMU può emulare molte CPU e altri dispositivi hardware
10 WINE è un emulatore? WINE è un software (Wine Is Not an Emulator) che come dice il nome non rientra nella categoria degli emulatori di hardware. Esso offre la possibilità di eseguire programmi nati per essere eseguiti su su sistemi operativi POSIX come MAC, BSD. Non richiede di posedere una copia di windows. Non offre una virtualizzazione, e nemmeno un interprete o una virtual machine. Non permette nemmeno di installare driver per windows perché non implementa il sistema operativo windows. Offre un ambiente compatibile all'esecuzione del programma, ad esempio, offre anche un'implementazione delle librerie necessarie al programma. È efficiente perché non effettua una traduzione del codice eseguibile. Traduce solo le chiamate di sistema che sono nello standard WinAPI, per poterle eseguire su kernel MAC, BSD, nello standard POSIX. Openstack cos'è? Vedere Cloud Computing... Virtualizzazione a livello di sistema operativo Alcuni software non possiedono la virtualizzazione dell'hardware (sono privi di macchine virtuali) quindi non si dovrebbe parlare nemmeno di virtualizzazione, in senso stretto. Per lo stesso motivo questi software non dovrebbero essere chiamati nemmeno hypervisor (VMM), e non si può installare nessun sistema operativo guest. Tuttavia è bene sapere che esistono e che vengono fatti rientrare nella loro stessa grande famiglia, chiamando questa esecuzione virtualizzazione a livello di sistema operativo, oppure virtualizzazione tramite container, oppure anche virtualizzazione tramite "workload isolation". Per comprendere la virtualizzazione tramite container bisogna ricordare che di solito un sistema operativo esegue le istruzioni in quattro livelli di privilegio (ring level): dal kernel space allo user space. I processi eseguiti dalla CPU e associati a quest'ultimo livello non hanno accesso a tutte le risorse. In questo tipo di virtualizzazione, un'applicazione del sistema operativo permette di avere più istanze user space isolate tra di loro, dove i processi hanno le loro risorse e quindi non possono interferire con altri processi (si tratta di un'ulteriore protezione, ad esempio, rispetto alla segmentazione della memoria). I processi sono isolati perché possono avere accesso a zone isolate del file system o lavorare in socket isolati della rete. Il vantaggio di questo sistema è il basso overhead, non essendoci macchine virtuali da gestire, nè hypervisor da eseguire. Lo svantaggio è che si possono eseguire solo processi scritti per essere eseguiti nello stesso sistema operativo host. Esempi di applicazioni di questo tipo sono: chroot, Docker, FreeBSD Jail, LCX, Linux-VServer, OpenVZ, Solaris Container e Sandboxie. Bibliografia
Introduzione. Virtualizzazione. Fabio Proietti (c) 2014 Licenza:
Introduzione I moderni elaboratori offrono prestazioni hardware elevate, come CPU multicore e svariati GB di RAM. Nelle aziende tali macchine hanno un elevato costo e devono essere utilizzate con un carico
DettagliVirtualizzazione e macchine virtuali. Presentata da Bernardo Lombardi
Virtualizzazione e macchine virtuali Presentata da Bernardo Lombardi La virtualizzazione Per virtualizzazione, in ambiti informatici, si intende la creazione di una versione virtuale di una risorsa normalmente
DettagliTecnologie di virtualizzazione
Tecnologie di virtualizzazione Obiettivo: disaccoppiare il comportamento delle risorse hardware e software di un sistema di elaborazione, così come viste dall utente, dalla loro realizzazione fisica. Disaccoppiamento
DettagliDr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.
Virtual Machines Virtual BOX, Xen, KVM & C. Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l. 1 Che cosa è la virtualizzazione? In informatica la virtualizzazione x86 consiste nella creazione di una versione
DettagliSistemi operativi. Fondamenti di Informatica
Sistemi operativi Fondamenti di Informatica Scratch https://scratch.mit.edu/studios/3840177/ Software ed Hardware Software Hardware Kernel Software Kernel Hardware Sistema operativo Processi: un programma
DettagliVirtualization & Container. Systems Integration
Virtualization & Container Systems Integration Virtualizzazione vs. Emulazione distinguiamo Virtualizzazione in senso generale Virtualizzazione in senso stretto Emulazione di CPU Virtualizzazione vs. Emulazione
DettagliVirtualizzazione 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
DettagliLA VIRTUALIZZAZIONE CASE STUDY CAMPUS DI CESENA
LA VIRTUALIZZAZIONE CASE STUDY CAMPUS DI CESENA Macchine virtuali Virtualizzazione: Perché Virtualizzazione: Cos è Forme di virtualizzazione Il Polo scientifico-didattico di Cesena Esigenze Scelte Architettura
DettagliProvare e installare Linux
Corso di Sistemi Operativi I/II Introduzione a Linux Provare e installare Linux Ruggero Donida Labati Dipartimento di Informatica via Bramante 65, 26013 Crema (CR), Italy http://homes.di.unimi.it/donida
DettagliArchitetture 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
DettagliCenni sulla virtualizzazione
Virtualizzazione Cenni sulla virtualizzazione Anno accademico 2013/14 Sistemi Concorrenti e Distribuiti Tullio Vardanega Realizzare una vista logica su una risorsa indipendentemente dalla sua vera natura
DettagliCenni sulla virtualizzazione
Cenni sulla virtualizzazione Anno accademico 2015/16 Sistemi Concorrenti e Distribuiti Tullio Vardanega Virtualizzazione Realizzare una vista logica su una risorsa indipendentemente dalla sua vera natura
DettagliFrancesco V. Buccoli Microsoft Student Evangelist
Francesco V. Buccoli Microsoft Student Evangelist f.buccoli@academicclub buccoli@academicclub.orgorg Academic Club Metodologie di virtualizzazione Desktop Virtualization Application Virtualization Server
DettagliProtezione 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
DettagliContenitori. Subhraveti, D. Containers Beyond the Hype. AppOrbit, 2015.
Luca Cabibbo Architettura dei Sistemi Software dispensa asw640 marzo 2017 Containers are much faster to provision than full-fat virtual machines. Sam Newman 1 - Fonti Subhraveti, D. Containers Beyond the
DettagliCenni sulla virtualizzazione
Astrazione Cenni sulla virtualizzazione Anno accademico 2012/13 Sistemi Concorrenti e Distribuiti Tullio Vardanega Nascondere dettagli dell implementazione per semplificare la vista logica dell utente
DettagliVirtualizzazione basata su contenitori
Luca Cabibbo Architettura dei Sistemi Software Virtualizzazione basata su contenitori dispensa asw650 marzo 2018 Containers are much faster to provision than full-fat virtual machines. Sam Newman 1 - Fonti
DettagliLinux Virtuale. Virtualizzazione, ovvero?
Come si può virtualizzare sotto Linux Micky Del Favero micky@linux.it BLUG - Belluno Linux User Group Linux Day 2007 - Belluno 27 ottobre 2007 p. 1 Virtualizzazione, ovvero? Per virtualizzazione si intende
DettagliSistema Operativo. Alma Mater Studiorum Università di Bologna - Fondamenti di Informatica T (a-k)
Sistema Operativo programmi di sistema controllano e regolano il comportamento del calcolatore SOFTWARE SO programmi applicativi risolvono i più disparati problemi degli utenti Definizione di sistema operativo
DettagliCenni sulla virtualizzazione
Virtualizzazione Cenni sulla virtualizzazione Anno accademico 2016/17 Sistemi Concorrenti e Distribuiti Tullio Vardanega Realizzare una vista logica su una risorsa indipendentemente dalla sua vera natura
DettagliSOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito
SOFTWARE MODULO 3 SOFTWARE Programmi e dati che indicano al computer come svolgere un determinato compito Programma: sequenza di istruzioni, scritte in un determinato linguaggio, con le quali si fa eseguire
DettagliSistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania
Sistemi Operativi C.d.L. in Informatica (laurea triennale) Anno Accademico 2018-2019 Dipartimento di Matematica e Informatica Catania Introduzione Prof. Mario Di Raimondo Sistemi Operativi 9 CFU (72 ore)
DettagliVIRTUALIZZAZIONE 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
DettagliI sistemi operativi. Prof. Daniele Contarino
I sistemi operativi Prof. Daniele Contarino Indice dei contenuti Introduzione Classificazione e struttura dei S.O. Graphics User Interface (GUI) Il filesystem Windows 7 & Ubuntu Il copyright Domanda di
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 4 Giovedì 20-10-2016 Struttura e organizzazione software dei sistemi
DettagliSistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi
Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello
DettagliUniversità degli Studi di Bologna STUDIO PER SOLUZIONI DI VIRTUALIZZAZIONE SU PIATTAFORMA MULTICORE PER APPARATI DI TELECOMUNICAZIONE
Università degli Studi di Bologna FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria delle Telecomunicazioni Sistemi di Telecomunicazioni LA STUDIO PER SOLUZIONI DI VIRTUALIZZAZIONE SU PIATTAFORMA MULTICORE
DettagliCenni sulla virtualizzazione
Cenni sulla virtualizzazione Anno accademico 2018/19 Sistemi Concorrenti e Distribuiti Tullio Vardanega Virtualizzazione Garantire una vista logica su una risorsa indipendentemente dalla sua reale natura
Dettagli2) Sistemi operativi. Lab. Calc. AA 2006/07
2) Sistemi operativi Introduzione Il sistema operativo è un programma dedicato alla gestione del calcolatore. All'accensione di un calcolatore viene eseguito un programma di base memorizzato su una memoria
DettagliMicrosoft Windows. Introduzione al Sistema Operativo e Utilizzo del Calcolatore. Il Calcolatore. Il Calcolatore. Sistemi Operativi.
Microsoft Windows Il Calcolatore Introduzione al Sistema Operativo e Utilizzo del Calcolatore Anni 50 2008 1 2 Il Calcolatore Un calcolatore (computer) è un esecutore universale di programmi/algoritmi
DettagliSistema operativo. Avere un architettura multi-core è un vantaggio
Sistema operativo Software responsabile del controllo e della gestione dei componenti hardware di un computer mediante interfaccia (driver), e della gestione dei vari programmi del computer. I programmi
Dettagli2. 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
DettagliArchitettura del calcolatore
Architettura del calcolatore I tipi di elaboratori Esistono due grandi classi di elaboratori: Elaboratori di uso generale (general-purpose computer) Elaboratori dedicati (special-purpose computer) Le classi
DettagliL hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:
Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti
DettagliI Sistemi Operativi. Installazione Ubuntu Linux su Macchina Virtuale
I Sistemi Operativi Installazione Ubuntu Linux su Macchina Virtuale Macchina Virtuale Cos è? Macchina virtuale (VM) Emula il comportamento di una macchina fisica SO e programmi possono essere eseguiti
DettagliElementi di Informatica
Elementi di Informatica Capitolo 1 - Concetti Generali Si definisce: Hardware, l'insieme degli elementi fisici che costituiscono un computer (vedi capitolo 2). Software, l'insieme dei programmi che consentono
DettagliBACKUP MULTIPIATTAFORMA ON PREMISE, RIMOVIBILE, DECENTRALIZZATO E CLOUD IBRIDIO
STORAGE EVOLUTION BACKUP MULTIPIATTAFORMA ON PREMISE, RIMOVIBILE, DECENTRALIZZATO E CLOUD IBRIDIO Tutti i sistemi sono forniti di una serie di modalità di Backup che permettono di soddisfare ogni esigenza.
DettagliAppunti di SISTEMI OPERATIVI
Appunti di SISTEMI OPERATIVI AVVERTENZE Questi appunti non vogliono essere degni sostituti di un buon libro di testo e hanno il solo scopo di aiutare gli studenti dei corsi di informatica che affrontano
DettagliIl software. Il solo hardware non è sufficiente per usare un calcolatore
Sistemi Operativi Il software Il solo hardware non è sufficiente per usare un calcolatore Servono dei programmi per far interagire l hardware sfruttare le risorse di calcolo e memorizzazione facilitare
DettagliMacchine Virtuali. Docente: Fabio Tordini Email: tordini@di.unito.it
Macchine Virtuali Docente: Fabio Tordini Email: tordini@di.unito.it Macchine Virtuali macchine virtuali e virtualizzazione introduzione architettura utilizzi VirtualBox installazione e panoramica (interattivo)
DettagliIl Sistema Operativo
Corso di Alfabetizzazione Informatica 2003/2004 Il Sistema Operativo Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Il computer
DettagliOverview dei sistemi di virtualizzazione
Overview dei sistemi di virtualizzazione Guido Guizzunti guido.guizzunti@cnaf.infn.it Corso INFN sulla virtualizzazione Catania 2010 Sommario Introduzione alla virtualizzazione Breve storia: tappe evolutive
DettagliMIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie
MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it
DettagliPrincipi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica
Principi operativi dei computer Capitolo 7 Fluency Conoscere e usare l informatica I soliti sospetti Processore Sistema operativo Software Istruzioni Ciclo macchina Memoria Hardware componente Com è fatto
DettagliIl Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
DettagliSistemi Operativi ed interazione con HW e CAD
Sistemi Operativi ed interazione con HW e CAD Corsi di Informatica Grafica Prof. Manuel Roveri Indice Il Sistema Operativo Software di sistema e applicativo Architettura di un sistema operativo Classificazione
DettagliIl software: Istruzioni per il computer
Il software: Istruzioni per il computer Software applicativo aiuta a svolgere operazioni utili in vari campi programmi di videoscrittura, fogli elettronici, videogiochi Software di sistema permette l utilizzo
DettagliIndice 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
DettagliProf. Rossella Cancelliere
Laboratorio di Informatica e Statistica Chimica Industriale a.a 2004/05 Prof. Rossella Cancelliere Dip. Informatica Univ.Torino C.so Svizzera 185,Torino email:cancelli@di.unito.it tel: 011/670 67 77 Obiettivi
DettagliLa memoria cache. Informatica generale
La memoria cache Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni La memoria centrale,
DettagliIl computer P R O F. L O R E N Z O P A R I S I
Il computer P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore più potente di quel periodo era l ENIAC, in grado di svolgere
DettagliStruttura dei Sistemi Operativi
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
DettagliTecnologie dell Informazione e della Comunicazione
Tecnologie dell Informazione e della Comunicazione 1 Le componenti hardware di un calcolatore per poter essere utilizzate hanno bisogno di una serie di strumenti software Tali software vengono di solito
DettagliSistemi Di Elaborazione Dell informazione
Sistemi Di Elaborazione Dell informazione Dott. Antonio Calanducci Lezione II: Software Corso di Laurea in Scienze della Comunicazione Anno accademico 2009/2010 Tipi di software Software di sistema (o
DettagliServer LDAP. File Server. Domain Controller. Installazione di una piattaforma Linux Alessandro Brusò 24/05/2012
791522 Alessandro Brusò Installazione di una piattaforma Linux Server LDAP File Server Domain Controller 2 1 1 2 3 Analisi Creazione del server virtuale Installazione e configurazione dei servizi 3 Analisi
DettagliFile Leggimi di Veritas System Recovery 16 Management Solution
File Leggimi di Veritas System Recovery 16 Management Solution Informazioni su questo file Leggimi Requisiti di sistema per le politiche di distribuzione software di Veritas System Recovery 16 Requisiti
DettagliCorso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Introduzione: linguaggi, livelli e macchine virtuali Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it
DettagliElementi di Informatica A. A. 2016/2017
Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Cos'è un Sistema Operativo?
DettagliUniversità 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
DettagliIl software: Istruzioni per il computer
Il software: Istruzioni per il computer Software applicativo aiuta a svolgere operazioni utili in vari campi programmi di videoscrittura, fogli elettronici, videogiochi Software di sistema permette l utilizzo
DettagliVirtualizzazione con OpenVZ
Workshop CCR Dicembre 2008 Stefano Stalio Laboratori Nazionali del Gran Sasso stefano.stalio@lngs.infn.it Da wikipedia: OpenVZ is an operating system level virtualization technology based on the Linux
DettagliLinux e i software liberi. di Nardean Lorenzo e Redigolo Marco
Linux e i software liberi di Nardean Lorenzo e Redigolo Marco Indice INTRODUZIONE - Cos'è Linux - Software libero - Software libero proprietario - Versioni Linux - Distribuzioni STORIA - L idea - Prima
DettagliTraduzione ed Interpretazione
Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L Macchina astratta di L M 0 Macchina ospite Implementazione interpretativa di L Implementazione compilativa di L Simulazione
DettagliTraduzione ed Interpretazione. Queste sconosciute
Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L M 0 Macchina astratta di L Macchina ospite Implementazione interpretativa di L Simulazione software di M L su M 0
DettagliLA VIRTUALIZZAZIONE E I SUOI ASPETTI DI SICUREZZA
LA VIRTUALIZZAZIONE E I SUOI ASPETTI DI SICUREZZA Il testo è stato redatto da: Sergio Sagliocco SECURELAB CSP Innovazione nelle ICT Diego Feruglio CSI-Piemonte Gianluca Ramunno Politecnico di Torino Si
DettagliSistema operativo & file system 1
Il software (sw) Software di sistema e file system Lezione 1b L esecuzione di programmi è lo scopo di un elaboratore I programmi sono algoritmi codificati in un particolare linguaggio di programmazione
DettagliMacchine Virtuali in pratica
Macchine Virtuali in pratica L o Autore Leonardo Paschino 1 Eseguire software non nativo Simulazione riscrittura, in tutto o in parte, delle routine del programma da simulare, in modo da renderlo comprensibile
DettagliAllegato Tecnico BaaS/CBaaS
Allegato Tecnico BaaS/CBaaS Nota di lettura 1 Descrizione del servizio 1.1 Definizioni e acronimi 1.2 Blade as a Service e Computing Blade as a Service 1.3 Attivazione del servizio Configurazione Network
DettagliSistema Operativo (Software di base)
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:
DettagliINFORMATICA E PC IL PERSONAL COMPUTER
INFORMATICA E PC IL PERSONAL COMPUTER 1 1. Cosa vuol dire informatica Il termine informatica riassume due parole: informazione automatica e si occupa dei sistemi per l elaborazione e l archiviazione delle
Dettagli3. 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
DettagliLe reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete
Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La
DettagliIl Sistema Operativo. Informatica Sistema Operativo 1
Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto
DettagliBackup 12. Confronto tra le licenze PANORAMICA
Backup 12 Confronto tra le licenze Acronis Backup 12 è la soluzione di backup più semplice e veloce al mondo per la protezione dei dati su 21 piattaforme, ovunque si trovino: in locale, su sistemi remoti,
DettagliArchitettura 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
DettagliDefinizioni iniziali. Sistemi Operativi. Tipi di software. Sistema Operativo. Programma: una sequenza di istruzioni elementari
Definizioni iniziali Sistemi Operativi Programma: una sequenza di istruzioni elementari Processo: un programma in esecuzione Software: insieme dei programmi 2 / 32 Tipi di software Sistema Operativo Base:
DettagliSistemi Operativi. Definizioni iniziali
Sistemi Operativi Definizioni iniziali Programma: una sequenza di istruzioni elementari Processo: un programma in esecuzione Software: insieme dei programmi 2 / 32 Tipi di software Base: lavora sull hardware
DettagliIl software di sistema
Il software di sistema Il software in un calcolatore è organizzato in due parti distinte: Il Software di Sistema o Sistema Operativo, che comprende una serie di programmi atti a gestire le risorse fisiche
DettagliLaboratorio di Informatica. Il Sistema Operativo. Il Sistema Operativo 1
Corso di Laboratorio di Informatica 1 Contenuti L architettura a strati di un calcolatore I compiti del sistema operativo L esecuzione delle applicazioni Cos è il Sistema Operativo? Un programma che gestisce
DettagliINFORMATICA E PC IL PERSONAL COMPUTER
INFORMATICA E PC IL PERSONAL COMPUTER 1 1. Cosa vuol dire informatica Il termine informaticariassume due parole: informazione automatica e si occupa dei sistemi per l elaborazione e l archiviazione delle
DettagliSistemi Operativi. Lez. 0: Introduzione ai sistemi operativi
Sistemi Operativi Lez. 0: Introduzione ai sistemi operativi Cos è un firmware? firmware è un programma integrato direttamente in un componente elettronico. Il termine deriva dall'unione di "firm" (azienda)
DettagliMacchine Virtuali Semplificazione
Cos'è una macchina virtuale? Perché utilizzarle? Quali sono i contesti di ragionevole utilizzo delle macchine virtuali? Per le persone che lavorano in ambito informatico le risposte a queste domande possono
DettagliA. Ferrari. informatica. introduzione a Java. Alberto Ferrari Informatica
informatica introduzione a Java La nascita di Java 1991 - James Gosling lavora al Green Project (SUN) per studiare la convergenza tra dispositivi di elettronica di consumo e computer 1992 il Green Project
DettagliIL SOFTWARE DI SISTEMA
Software (sw) L esecuzione di programmi è lo scopo di un elaboratore L insieme dei programmi che un elaboratore può eseguire rappresenta il software in dotazione all elaboratore IL SOFTWARE DI SISTEMA
DettagliInformatica Generale 06 - Introduzione ai Sistemi Operativi
Informatica Generale 06 - Introduzione ai Sistemi Operativi Cosa vedremo: Funzionalità dei sistemi operativi Bootstrap Stato utente e stato supervisore Componenti di un Sistema Operativo Cos è un sistema
DettagliFinalmente un po di PRATICA
Finalmente un po di PRATICA Cosa andremo a fare (se avremo tempo ): Configuriamo un primo Windows Server 2012 come DC creando la foresta e il Forest Root Domain Configuriamo un secondo Windows Server 2012,
DettagliTecniche di virtualizzazione di processori Intel-AMD. Gianluca Guida
Tecniche di virtualizzazione di processori Intel-AMD Gianluca Guida Copyright (c) 2006 Gianluca Guida Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free
DettagliMezz ora in amicizia. Ross
Mezz ora in amicizia www.linuxvar.it Ross Cosa si usa Quando si parla di virtualizzazione in ambito server viene immediato pensare a VMware vsphere, a Hyper-V di Microsoft o a Citrix XenServer, piuttosto
DettagliTelephony Appliance BNTA 2.0 Guida Rapida per l installazione
Telephony Appliance BNTA 2.0 Guida Rapida per l installazione beronet GmbH info@beronet.com +49 30 25 93 89 0 1 Indice Introduzione... 3 1) beronet Hypervisor... 3 A. Come accedere l Hypervisor... 3 B.
DettagliVirtualizzazione 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
DettagliFondamenti di Informatica
Università Degli Studi di Ferrara Corso di Laurea in Scienze della Comunicazione - A.A. 2017-2018 Fondamenti di Informatica Lez. 01 - Concetti Hardware e Software Fondamenti di Informatica - Docente: Giacomo
DettagliIl Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire efficientemente l'elaboratore e le sue periferiche,
DettagliIntroduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++
Microsoft Windows e Dev-C++ Introduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++ Le Esercitazioni in Laboratorio Laboratorio ELAB1: Edificio Viale Europa 2 PIANO, Scala 1 (n. 44 posti)
DettagliDal sistema operativo all' hardware
Dal sistema operativo all' hardware Di cosa parleremo? Il computer (processore e memoria principale) Cosa avviene all'avvio del computer? processi Scheda madre Alimentatore Memorie Secondarie (floppy disk,
DettagliMarco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Astrazione e Macchine Virtuali parte 2: in un tipico calcolatore I livelli nei moderni calcolatori 6. Livello delle applicazioni
DettagliTraduzione e interpretazione
Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore
Dettagli