L utilizzo di Macchine Virtuali per garantire servizi di rete in una infrastruttura IT

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "L utilizzo di Macchine Virtuali per garantire servizi di rete in una infrastruttura IT"

Transcript

1 Master di II livello in Metodologie e tecnologie per lo sviluppo di infrastrutture digitali Dipartimento Interateneo di Fisica M. Merlin SSD: FIS/01 - FIS/07 - ING-INF/05 L utilizzo di Macchine Virtuali per garantire servizi di rete in una infrastruttura IT Formando Dott. Giacomo Demarinis Relatori Prof. Gennaro Boggia Prof. Alexis Pompili Coordinatore Prof. Roberto Bellotti ESAME FINALE 2015

2 A mia moglie Claudia e ai miei figli Rossella e... Avoid the Gates of Hell. Use Linux.

3 Indice Elenco delle figure iv Introduzione 1 1 Virtualizzazione: stato dell arte Cenni storici Vantaggi e svantaggi della virtualizzazione Valutazione dei benefici Le tecniche di virtualizzazione Approcci implementativi Hypervisor Virtual Machine Monitor (VMM) Teoria di Popek e Goldberg La virtualizzazione completa (Full-virtualization) La paravirtualizzazione (paravirtualization) L Hardware-Assisted virtualization L architettura di Xen Nota storica La filosofia dietro Xen L architettura implementata in Xen Il ruolo dei Domini Virtual CPU, memoria, I/O e networking Virtualizzazione della CPU Virtualizzazione della memoria Virtualizzazione delle periferiche ii

4 INDICE La virtualizzazione della rete L implementazione dei servizi IT L infrastruttura IT Installazione di Xen e delle VM I servizi di rete Networking di base: VM NetServices Routing, sicurezza e accesso remoto: VM MainRouter Webserver e controllo di versione: VM Servers Autorità di certificazione: VM Trust Monitoring: VM Zabbix Considerazioni conclusive e prospettiche 42 Bibliografia 44 iii

5 Elenco delle figure 1.1 Architettura concettuale del calcolatore La full-virtulization (sx) e la paravirtualization (dx) L approccio paravirtualizzato di Xen Esempio di uso dei domini da parte di Xen Livelli di privilegi dell architettura x86 senza virtualizzazione Livelli di privilegi dell architettura x86 con virtualizzazione Virtualizzazione della memoria Il collegamento tra le interfacce fisiche e virtuali di Xen Schema delle interfacce in modalità Bridge Infrastruttura di rete L architettura di Xen da implementare L interfaccia grafica di TinyCA Dashboard e grafici disponibili in Zabbix Ricostruzione della rete di monitoraggio LAN tramite Zabbix iv

6 Introduzione Negli ultimi anni il termine virtualizzazione è stato molto utilizzato in ambito informatico. Il significato più immediato ed intuitivo che se ne può dedurre è relativo ad un qualcosa che è il contrario di fisico, concreto; ossia una rappresentazione logica di ciò che viene espresso dalla realtà. Più nello specifico si può definire (M.Boari e S.Balboni, 2007) la virtualizzazione come: il disaccoppiamento del funzionamento logico delle risorse hardware e software dalla loro realizzazione fisica. Il concetto di virtualizzazione di un sistema di elaborazione non è recente: uno dei primi esempi, introdotto dalla IBM, risale agli anni 60. Tuttavia, negli ultimi anni, si è assistito ad un forte incremento dell uso di questa tecnica, che permette di contenere i costi di gestione e di sfruttare al meglio le risorse dei centri di elaborazione dati. Si può stimare che in media la potenza di calcolo di ogni singolo elaboratore sia sfruttata solo in minima parte. Questo dato - unito a quelli relativi ai costi di manutenzione, energia elettrica ed impianti di condizionamento - rende particolarmente conveniente per i responsabili delle Server Farm, adottare la virtualizzazione dei server, una tecnica che permette l esecuzione di più macchine virtuali su un solo server fisico. L uso e il numero dei server installati viene razionalizzato, mantenendo inalterate le capacità funzionali del sistema. Oggi la virtualizzazione è una tecnologia matura che sta diventando ampiamente utilizzata a livello enterprise: questo lavoro si focalizza sulle tecniche implementative e le soluzioni per la virtualizzazione attualmente disponibili, applicate ad un contesto di laboratori universitari, in cui è essenziale garantire tutta una serie di servizi di rete, necessari allo studio e alla ricerca. 1

7 Capitolo 1 Virtualizzazione: stato dell arte 1.1 Cenni storici Come accennato nell introduzione, uno dei primi esempi di virtualizzazione di un sistema di elaborazione risale agli anni 60 ed è stato introdotto con i sistemi chiamati CP/CMS progettati ed implementati dall IBM; la componente CP (Control Program) di fatto rappresentava il livello di astrazione il cui compito era quello di fare vedere ai livelli superiori (il sistema operativo) diverse macchine logiche al posto dell hardware fisico; il CMS (Conversational Monitor System) era il sistema operativo (monoutente) che girava sopra ogni macchina virtuale; il vantaggio di questa architettura era enorme se si considera che in quel periodo storico non esistevano ancora sistemi operativi multitasking interattivi. In seguito, l avvento dei nuovi sistemi operativi ha fatto sì che questa architettura venisse abbandonata con la conseguente progressiva dismissione dei mainframe e l aumento spropositato del numero di PC/Server presso i CED delle aziende. Negli ultimi anni ci si è resi conto che la potenza di calcolo di ogni singolo elaboratore è mediamente utilizzata solo al 20%; questa considerazione, unita ai dati relativi ai costi in termini di manutenzione, energia elettrica ed impianti di condizionamento, ha fatto sì che si intraprendesse nuovamente la strada della virtualizzazione. 2

8 1.2 Vantaggi e svantaggi della virtualizzazione 1.2 Vantaggi e svantaggi della virtualizzazione Come si è detto la virtualizzazione dei Server permette di ottimizzare le risorse fisiche disponibili e di facilitare la gestione e l uso dei server (Kiyanclar, 2005). Più nel dettaglio, i vantaggi di questa tecnica di virtualizzazione sono i seguenti (Sahoo e altri, 2010): la riduzione dei server fisici: le soluzioni hardware/software per la virtualizzazione permettono l esecuzione di diverse macchine virtuali su un solo server fisico con il vantaggio di ridurre i consumi energetici, il calore generato (sono necessari impianti di condizionamento meno potenti), i guasti hardware, i tempi tecnici per il montaggio e il cablaggio, il numero di armadi rack, lo spazio dedicato in sala macchine e il relativo cablaggio; il consolidamento dei server: si stima che mediamente un moderno server venga sfruttato solo al 15-20%. È quindi ragionevole che possano essere eseguite 3 o 4 macchine virtuali sullo stesso hardware fisico; l indipendenza hardware: il software, ed in particolar modo il sistema operativo, è strettamente legato all hardware sottostante. Se quindi per qualche motivo un installazione di un server deve essere spostata o clonata su un altra macchina, si dovranno tenere in conto diversi problemi di incompatibilità hardware (ad esempio si dovranno installare tutti i driver mancanti del nuovo hardware). Invece, una delle caratteristiche della virtualizzazione è quella di creare livelli di astrazione tali per cui il sistema operativo non vede l hardware fisico bensì un hardware virtuale. In questo modo l amministratore può spostare o clonare un sistema su altre macchine che eseguono lo stesso ambiente di virtualizzazione senza preoccuparsi dei dettagli fisici (modello delle schede di rete, schede grafiche, chipset e così via); l adattabilità: spesso in un contesto applicativo cambiano le priorità e le esigenze, per cui un servizio può diventare più importante di un altro e necessitare di risorse maggiori. La virtualizzazione permette di allocare le risorse hardware virtuali in modo decisamente più veloce e flessibile. Se 3

9 1.2 Vantaggi e svantaggi della virtualizzazione necessario, la macchina virtuale può, inoltre, essere spostata su un hardware più efficiente in modo totalmente trasparente; la scalabilità: aggiungere o rimuovere nodi all interno di una infrastruttura IT è un compito che risulta molto più facile e sbrigativo. Se la domanda per la capacità da sostenere aumenta nel tempo, è facile installare un nodo fisico con una installazione di base che metta in esecuzione le macchine virtuali ed i loro servizi; l isolamento: se un applicazione all interno della macchina virtuale mostra dei bug, o se addirittura il sistema operativo mostra delle problematiche, tali errori non si ripercuotono né sull host che ospita tale macchina virtuale, né sulle altre macchine virtuali (dette anche guest); la sicurezza: l isolamento comporta anche maggiore sicurezza poiché ogni macchina virtuale, in genere associata ad un solo servizio, non compromette lo svolgimento di altri servizi che risiedono su altri guest; la flessibilità: su ogni macchina virtuale è possibile effettuare operazioni del tipo: boot, shutdown, resume, pause. Inoltre è possibile modificare le specifiche di ciascuna di esse in termini di virtual cpu, dischi, network e memoria; la disponibilità: se l host su cui è eseguita una macchina virtuale necessita di manutenzione, attraverso la migrazione a caldo, è possibile mantenere la macchina virtuale sempre attiva, spostandola su un altro host fisico; il supporto alle applicazioni legacy: non è raro trovare nelle sale macchine di alcuni contesti lavorativi vecchi server con vecchi sistemi operativi (ad esempio il DOS) che non possono essere spostati su macchine nuove in quanto non sarebbero supportati. Gli ambienti di virtualizzazione permettono l esecuzione anche di sistemi legacy permettendo ai responsabili IT di liberarsi del vecchio hardware non più supportato e più soggetto a guasti; la standardizzazione delle installazioni: grazie all astrazione dell hardware è possibile preparare una sola volta le immagini di ambienti omogenei 4

10 1.2 Vantaggi e svantaggi della virtualizzazione (come ad esempio quello delle postazioni di lavoro o server di sviluppo) comprensivi di sistema operativo, applicazioni e configurazioni particolari (ad esempio dominio, posta elettronica, LDAP, policy di sicurezza, ecc.); la creazione di ambienti di test: capita frequentemente che su un sistema in produzione si debbano apportare delle modifiche senza sapere quali siano le conseguenze: ad esempio l installazione di un aggiornamento del sistema operativo o soprattutto di una service pack non è un operazione priva di rischi. La virtualizzazione permette la replica immediata di una macchina virtuale per poter effettuare tutti i test di stabilità richiesti; il monitoraggio: tramite l introduzione di un supervisore software, si introduce la possibilità di osservare il comportamento dei guest da fuori ed operare di conseguenza un monitoraggio continuo delle applicazioni in esecuzione. Ovviamente, come ogni altra tecnologia, l uso della virtualizzazione porta inevitabilmente a degli inconvenienti che variano a seconda dello scenario applicativo e devono essere valutati prima di avviare tutte le procedure di virtualizzazione. Gli svantaggi che devono essere tenuti in considerazione sono i seguenti: l overhead: ogni soluzione di virtualizzazione fa decrescere le performance globali, come ad esempio i tempi di accesso ai dischi, accesso alla memoria e così via. Alcune applicazioni particolarmente critiche potrebbero risentire dell overhead introdotto dall ambiente di virtualizzazione; l hardware non virtualizzabile: a seconda dei prodotti utilizzati, alcune periferiche potrebbero non essere usate dalle macchine virtuali, come ad esempio porte seriali/parallele, dispositivi USB, interfacce bluetooth, accelerazioni grafiche hardware e così via; SPOF (Single Point Of Failure): nonostante la risorsa virtuale venga disaccoppiata da quella fisica, il funzionamento dipende comunque dall hardware; l interfaccia di gestione: dipendente dalla piattaforma di virtualizzazione adottata. 5

11 1.3 Valutazione dei benefici 1.3 Valutazione dei benefici Al fine di valutare le tecniche di virtualizzazione oggi presenti, è opportuno fissare alcuni criteri di valutazione, in base ai quali tali tecnologie possono essere confrontate, ovvero: Performance: le prestazioni sono di vitale importanza. In generale l assunzione di tecniche di virtualizzazione, introducendo overhead, può indurre ad un calo di prestazioni; oggi come oggi si accetta che tale calo rientri in una certa soglia, ma in alcuni ambiti, come l High Performance Computing (HPC), si tenta di ridurlo al minimo; Trust: ci si basa sul fatto che il software di virtualizzazione sia abbastanza affidabile, immune da attacchi (sicuro) ed abbia bisogno di minor codice per essere implementato seppur garantisca minori performance in relazione ad un OS che, a fronte di una maggiore richiesta di codice, garantisce migliori performance ma è più soggetto a bug di sicurezza; Portabilità: a seconda del tipo di virtualizzazione che si vuole utilizzare il supporto legacy può essere raggiunto in diversi modi. Come approfondiremo nei prossimi paragrafi, con la full virtualization e la hardware-assisted virtualization i guest OS non hanno bisogno di essere modificati e la portabilità è garantita, mentre tramite paravirtualization si deve pagare in termini di modifica dei guest OS, che però sono in grado di sfruttare meglio le risorse. 1.4 Le tecniche di virtualizzazione Esistono vari livelli in cui si può introdurre la virtualizzazione. Come si può notare in Figura 1.1, questi possono essere classificati principalmente nelle seguenti tipologie a seconda del grado di astrazione che si vuole introdurre: La virtualizzazione viene effettuata a livello di Instruction Set Architecture (ISA) e coincide con l emulazione di tali istruzioni. Il processo di emulazione consiste nell interpretare le istruzioni in modo completamente software. Per esempio, è possibile eseguire programmi compilati per un architettura x86 su una macchina Sparc, grazie ad un emulatore x86. 6

12 1.4 Le tecniche di virtualizzazione Un secondo tipo di virtualizzazione è introdotto tramite il software di virtualizzazione che introduce un livello di astrazione tra l OS e l hardware sottostante. In questo modo il sistema operativo ha una visione virtualizzata dell hardware, che non corrisponde alla reale composizione fisica dell host (macchina fisica). Una terza classe di virtualizzazione avviene on-top-of OS o as-module-of OS e fornisce un interfaccia virtualizzata per le system call. Un ulteriore virtualizzazione si può effettuare a livello di librerie utilizzando le Application Programming Interface (API). Un ultima tipologia avviene a livello di applicazione, ossia lo strato di virtualizzazione viene introdotto in un applicazione (macchina virtuale) la quale può essere rappresentata da un interprete dei linguaggi come la Java Virtual Machine (JVM) o il Common Language Runtime (CLR). Figura 1.1: Architettura concettuale del calcolatore In realtà esistono anche casi più semplici di come la virtualizzazione possa essere sfruttata ampiamente dal calcolatore: un esempio immediato riguarda l utilizzo della memoria virtuale. Quando si scrive un programma, il programmatore non deve curarsi dello spazio di indirizzamento che viene riservato, ma tramite la 7

13 1.5 Approcci implementativi Memory Management Unit (MMU) gli indirizzi logici (virtuali) vengono tradotti in indirizzi fisici, con il risultato che lo spazio di indirizzamento, come percepito dal programma, è diverso da quello fisico. 1.5 Approcci implementativi Hypervisor Col termine hypervisor si intende quello strato di software che permette solamente l astrazione dell hardware fisico. Generalmente viene caricato all avvio del sistema di elaborazione e non integra nessuna funzionalità di gestione di macchine virtuali. Ovviamente, l hardware rilevato da ogni macchina virtuale (che ricordiamo può essere definita guest o VM) differisce sia dal punto di vista qualitativo che da quello quantitativo rispetto a quello fisico: ad esempio, se il server fisico possiede una scheda video ATI, l hypervisor potrebbe presentarla come una VGA standard. Come vedremo in seguito, per avere una gestione completa delle macchine virtuali (gestione del ciclo di vita, gestione delle priorità, etc.) è necessario disporre di una componente aggiuntiva che a seconda delle architetture può essere o non essere incorporata all interno dell hypervisor Virtual Machine Monitor (VMM) Il Virtual Machine Monitor (VMM) è il software vero e proprio che gestisce la condivisone delle risorse hardware e il ciclo di vita di ogni macchina virtuale. In particolare i compiti di un moderno VMM sono: esporre alle macchine virtuali le opportune interfacce hardware; gestire l interazione tra le diverse macchine virtuali; garantire l isolamento tra le macchine virtuali; garantire la stabilità del sistema, impedendo alle macchine virtuali di poter eseguire istruzioni privilegiate in modo non controllato. 8

14 1.5 Approcci implementativi A seconda che sia ospitato da un sistema operativo nativo o da un hypervisor, il VMM viene chiamato OS-hosted VMM oppure Hypervisor-Hosted VMM Teoria di Popek e Goldberg La base teorica su cui stabilire i requisiti fondamentali che deve riunire un architettura per essere virtualizzata in forma efficiente fu introdotta da Popek e Goldberg (1974) nel loro articolo Formal Requirements for Virtualizable Third Generation Architectures. Popek e Goldberg definiscono un set di condizioni tali che se l architettura di un processore supporti la virtualizzazione, essi generalizzano le condizioni che il software VMM deve soddisfare per provvedere alla corretta astrazioni delle macchine virtuali. Queste condizioni, o proprietà, sono: 1. Equivalenza: un programma in esecuzione su un VMM deve avere lo stesso comportamento dimostrato durante l esecuzione diretta sullo strato hardware sottostante. Tale proprietà a volte è anche chiamata Fedeltà. 2. Controllo delle risorse: la VMM deve avere il completo controllo delle risorse hardware virtualizzate usate dai sistemi operativi ospiti. 3. Efficienza: tale proprietà permette l esecuzioni della maggior parte delle istruzioni senza l intervento delle VMM. Nell ambito dei diversi VMM (Virtual Machine Monitor), possono essere adottati diversi approcci implementativi che vanno ricondotti a tre grandi famiglie: la virtualizzazione completa (Full-virtualization), la paravirtualizzazione (Paravirtualization) e l Hardware-Assisted Virtualization La virtualizzazione completa (Full-virtualization) La tecnica della virtualizzazione completa prevede che il VMM mostri alla macchina virtuale tutto l hardware necessario all esecuzione di un sistema operativo tradizionale; il VMM, quindi, tramite un BIOS virtuale, espone la/le CPU, le memorie, i dispositivi di memorizzazione e così via. 9

15 1.5 Approcci implementativi Il vantaggio principale di questo paradigma riguarda la possibilità di eseguire sulle macchine virtuali tutti i tradizionali sistemi operativi senza che questi debbano essere modificati, in quanto l hardware emulato risulta completamente trasparente, come mostrato in Figura 1.2(sx). Figura 1.2: La full-virtulization (sx) e la paravirtualization (dx) D altra parte, le complicazioni derivanti dall utilizzo di un VMM di questo genere sono una maggiore complessità ed una maggiore dipendenza dal tipo di CPU: quest ultima condiziona in modo decisivo sia la stabilità che la complessità del VMM. Per capire come funziona un VMM di questo tipo è necessario innanzitutto ricordare che una moderna CPU funziona su almeno due livelli di privilegio (ring): uno denominato supervisore (ring 0 o supervisor-mode) e l altro (o gli altri) denominato utente (user-mode). Normalmente all interno del primo anello viene eseguito il sistema operativo (kernel e moduli/driver), mentre nel secondo vengono eseguiti gli applicativi; all interno del livello supervisore è ammessa l esecuzione di tutte le istruzioni della CPU (privilegiate e non) mentre a livello utente è possibile la sola esecuzione delle istruzioni non privilegiate. Nel caso in cui un applicazione utente tenti di eseguire un istruzione privilegiata la CPU (a seconda dei tipi) può comportarsi in due modi: ignorare la richiesta di esecuzione; 10

16 1.5 Approcci implementativi avvisare il sistema operativo tramite una trap 1 : il sistema operativo valuta la richiesta e intraprende le opportune azioni. Nel caso in cui una CPU sia in grado di intercettare tutte le istruzioni privilegiate viene definita naturalmente virtualizzabile. VMM: Si intuisce facilmente che una CPU di questo tipo ha un duplice vantaggio sui maggiore efficienza: le macchine virtuali possono eseguire direttamente il codice sulla CPU fisica senza alcun overhead da parte del VMM; maggiore stabilità: nel caso in cui una macchina virtuale esegua un istruzione privilegiata e quindi potenzialmente dannosa per l intero sistema, la CPU la interrompe e ne dà notifica al VMM che esegue le opportune azioni. Purtroppo esistono alcune CPU che non sono naturalmente virtualizzabili: in questi casi il VMM deve prevedere una fase di parsing delle istruzioni da eseguire in modo da poter intercettare quelle che la CPU nativamente non fa (a scapito di un maggiore overhead) La paravirtualizzazione (paravirtualization) I VMM paravirtualizzati, a differenza di quelli descritti in precedenza, non emulano l hardware della macchina fisica, ma definiscono e implementano un interfaccia applicativa tra VMM e sistema operativo della macchina virtuale (anche nota come Virtual Hardware API ). La conseguenza primaria di un approccio di questo tipo è che il sistema operativo guest deve essere consapevole di essere in esecuzione in un ambiente virtuale; ne consegue che un sistema operativo per essere eseguito in un ambiente paravirtualizzato deve essere opportunamente modificato rispetto alla sua versione originale, come mostrato in Figura 1.2(dx). Questo paradigma ha quindi lo svantaggio di dover sviluppare il porting di ogni sistema operativo, ma ha tutta una serie di vantaggi: 1 Le trap (trappole) sono interruzioni generate dal processore quando non riesce ad eseguire un istruzione macchina, per esempio perché si tratta di una divisione per zero, o l indirizzo di memoria cui deve accedere non è valido, oppure l istruzione non è definita nel set di istruzioni della CPU. 11

17 1.5 Approcci implementativi i VMM sono molto snelli e semplici da realizzare; i VMM sono svincolati da CPU che non siano naturalmente virtualizzabili; l ambiente paravirtualizzato permette una maggiore interattività tra VMM e sistema operativo guest consentendo una maggior efficienza nella gestione delle risorse condivise (ad esempio nel caso della gestione della paginazione, il VMM può chiedere ai sistemi operativi guest quali sono le pagine di memoria usate di meno). Attualmente uno dei progetti più noti orientati alla paravirtualizzazione è Xen, il prodotto sviluppato dall Università di Cambridge e rilasciato con licenza Open Source, di cui ne approfondiremo le potenzialità nel capitolo successivo L Hardware-Assisted virtualization Questo tipo di virtualizzazione si ispira sia alla tecnica paravirtualizzata che a quella della virtualizzazione completa. Tale tecnica usa un hypervisor che gira ad un livello più basso del livello 0 (dove abitualmente è situato nelle altre due tecniche di virtualizzazione) grazie ad una innovazione dei nuovi processori Intel VT-x ed AMD-V alias Pacifica, i quali introducono un livello al di sotto del livello 0 (convenzionalmente 1) nel quale viene aggiunto un modo privilegiato di esecuzione extra delle istruzioni (root mode level). In questo modo i sistemi operativi girano nel livello 0, dove essi si aspettano di girare e tutte le istruzioni che fanno diretto accesso all hardware vengono intercettate dall hypervisor, il quale converte le istruzioni e schedula l accesso all hardware dei sistemi operativi ospiti. 12

18 Capitolo 2 L architettura di Xen Xen al giorno d oggi si propone come uno dei più popolari ed usati Virtual Machine Monitor di macchine virtuali (VMM ), grazie anche alle sue origini nell Open Source ed alla folta comunità che ancora oggi contribuisce in maniera molto attiva allo sviluppo del software. Tuttavia Xen è molto di più che un altro semplice VMM, infatti grazie a Xen Project oggi è utilizzato anche per le soluzioni business dei data center. Xen hypervisor offre un potente, sicuro ed efficiente mezzo per la virtualizzazione di x86, x86 64, IA64, ARM, ed altre architetture di CPU e supporta una vasta gamma di Sistemi Operativi tra i quali: Windows, Linux, Solaris, e varie versione di BSD. 2.1 Nota storica Le origini di Xen sono dovute ad un progetto dell Università di Cambridge conosciuto come XenoServers project. Lo scopo del progetto era quello di sviluppare una potente e flessibile architettura per i computer distribuiti in rete e l elemento chiave per fare tutto ciò era la possibilità di utilizzare una singola macchina per far girare differenti, o multiple, istanze di sistemi operativi contemporaneamente in un ambiente isolato e protetto. Xen, quindi, non era altro che la VMM originariamente sviluppata per il supporto al progetto di XenoServers 1, che con lo sforzo sempre maggiore della

19 2.2 La filosofia dietro Xen ricerca nel campo della virtualizzazione della CPU fisica, della memoria, dei dischi e delle reti, ebbe rapidamente una vita tutta sua, indipendente dai successi e dai requisiti di XenoServers (Fraser e altri, 2003). Oggi Xen è usato in migliaia di ambienti commerciali e di ricerca ed è sviluppato, oltre che da una folta community Open Source, anche da molte aziende del settore IT. 2.2 La filosofia dietro Xen Prima di approfondirne i dettagli implementativi, è opportuno capire i principi e le linee guida che hanno ispirato i progettisti di Xen. Capire questo vuol dire avere un quadro più ampio sull architettura di Xen e sul perché di alcune decisioni implementative L architettura implementata in Xen L architettura di Xen può essere schematizzata come una suddivisione in tre livelli fondamentali: Hardware, Virtual Machine Monitor (VMM/hypervisor) e Domini. A titolo esemplificativo in Figura 2.1 viene mostrata l architettura di Xen con ospitate quattro Virtual Machine (Domain 0, VM1, VM2, VM3) e la Virtual Machine Monitor (VMM/hypervisor), che è responsabile dell astrazione dell hardware sottostante e ne gestisce l accesso per le differenti macchine virtuali. Coma abbiamo già evidenziato in questo esempio, la tecnica di virtualizzazione utilizzata da Xen è la paravirtualizzazione 1 la quale crea un livello logico simile ma non identico all hardware sottostante. La Figura 2.1 mostra il ruolo speciale della VM chiamata Domain-0 (Dom0), la quale ha accesso all interfaccia di controllo della VMM ed è responsabile della creazione, distruzione e della gestione delle altre VM presenti (chiamate anche Domain-U o DomU). 1 Ricordiamo che il prefisso para significa somiglianza, vicinanza; quindi il termine paravirtualizzazione vuole indicare il concetto di somiglianza alla virtualizzazione 14

20 2.2 La filosofia dietro Xen Figura 2.1: L approccio paravirtualizzato di Xen I software di gestione e di controllo girano nella Domain-0. L amministratore può creare una macchina virtuale anche con privilegi speciali (VM 1 nella Figura 2.1) la quale può accedere direttamente all hardware fisico attraverso una speciale API fornita da Xen. Le altre VM possono accedere all hardware sottostante solo grazie alla mediazione che effettua il Dom0 tramite una sua API. In questo esempio il Sistema Operativo della VM 1 e VM 2 è modificato per girare su Xen ed è a conoscenza delle API da usare per comunicare con il Dom0. Grazie a questo approccio si raggiungono risultati molto vicini all esecuzione nativa dei Sistemi Operativi Il ruolo dei Domini Come evidenziato nel paragrafo precedente Xen ha una struttura di sistema unica, composta dall hardware sottostante, da un VMM/hypervisor, da una regione di controllo e dalle stesse macchine virtuali, come mostrato nella Figura 2.2. L hypervisor è il responsabile dell astrazione del livello hardware e contiene sia le API di Gestione che quelle della Virtualizzazione Hardware e al suo interno troviamo una interfaccia di controllo che permette alle macchine ospiti di comunicare direttamente o indirettamente con lo strato hardware sottostante. 15

21 2.2 La filosofia dietro Xen Figura 2.2: Esempio di uso dei domini da parte di Xen Ad interagire con le API di gestione (Management API ) è la regione di controllo, la quale accede all hardware e contiene del codice per la gestione dell user mode. All avvio, come abbiamo visto in precedenza, il sistema inizializza un dominio speciale che permette l uso dell interfaccia di controllo, conosciuto come Domain- 0 (Dom0). Questo dominio iniziale ospita la gestione software dell user mode, il quale è responsabile dell amministrazione dell ambiente Xen, attraverso i tools della command-line. Il Dom0 è anche responsabile dell avvio e dell interruzione dei domini meno privilegiati chiamati Domain-U (DomU). Gestisce inoltre, tramite l interfaccia di controllo, lo scheduling della CPU delle DomU, l allocazione della memoria e l accesso ai device fisici come, per esempio, l accesso al disco dati o all interfaccia di rete. Il dominio di controllo, Dom0, funziona come un normale Sistema Operativo Linux. Possiamo eseguire applicazioni in user mode, e gestire il sistema Xen, come anche installare dei driver per il supporto all hardware. In questo modo qualsiasi driver già scritto e sviluppano per Linux può essere usato anche nell ambiente di esecuzione Xen: questo dà ai vari settori IT un grossa flessibilità nella scelta dell hardware da usare nelle proprie infrastrutture computazionali. 16

22 2.3 Virtual CPU, memoria, I/O e networking 2.3 Virtual CPU, memoria, I/O e networking Virtualizzazione della CPU La prima grande sfida della virtualizzazione sull architettura x86 si è avuta sul funzionamento della CPU. Su questa architettura, i sistemi operativi sono progettati per funzionare direttamente sulla macchina fisica e pertanto assumono di avere il pieno controllo dell hardware. L architettura x86 offre al sistema operativo ed alle applicazioni 4 livelli di privilegi per la gestione dell accesso all hardware, i quali vengono identificati come Ring 0, 1, 2 e 3, come mostrati in Figura 2.3. Figura 2.3: Livelli di privilegi dell architettura x86 senza virtualizzazione Mentre le applicazioni utente generalmente girano sul livello meno privilegiato (Ring 3), il sistema operativo necessita del massimo dei privilegi per poter avere accesso diretto alla memoria e alle altre risorse fisiche, pertanto gira al livello Ring 0. Virtualizzare tale architettura implica inserire l hypervisor al di sotto del sistema operativo, ovvero al Ring 0, in quanto è quest ultimo che ora media gli accessi alle risorse fisiche e presenta ai livelli superiori quelle virtuali. Questo implica traslare il sistema operativo ad un livello superiore, ma la situazione a 17

23 2.3 Virtual CPU, memoria, I/O e networking questo punto si complica per il fatto che alcune istruzioni cambiano completamente semantica quando non vengono eseguite al livello di Ring 0. Proprio la difficoltà nel gestire e modificare queste istruzioni in fase di esecuzione costituì agli inizi un grosso ostacolo, tanto da far ritenere la virtualizzazione su questa architettura non fattibile. La soluzione fu trovata nel 1998 mediante le tecniche della binary translation e direct execution. Il sistema operativo viene spostato sul Ring 1, come mostrato in Figura 2.4, e l hypervisor ne traduce tutte le istruzioni non virtualizzabili in una diversa serie di chiamate che mantiene però lo stesso effetto sull hardware virtuale. Le applicazioni utente nel Ring 3 invece continuano ad essere eseguite direttamente dal processore per mantenere elevate prestazioni. Figura 2.4: Livelli di privilegi dell architettura x86 con virtualizzazione Questa soluzione viene anche chiamata anche in questo caso full-virtualization, in quanto il sistema operativo ospite (guest) è completamente disaccoppiato dall hardware sottostante per mezzo del virtualization layer, quindi non si accorge di trovarsi in un sistema virtualizzato. Questo comporta il grande vantaggio che il sistema operativo non necessiti di alcuna modifica per poter essere installato all interno di una macchina virtuale, 18

24 2.3 Virtual CPU, memoria, I/O e networking semplificando così migrazioni dal fisico al virtuale e la portabilità di macchine virtuali; inoltre non è richiesto alcun hardware particolare dal momento che l hypervisor si prende carico di tradurre in tempo reale le istruzioni e mantenere in una cache i risultati per velocizzare analoghe operazioni future. La full-virtualization offre inoltre il miglior grado di sicurezza ed isolamento fra le macchine virtuali. La paravirtualizzazione invece si propone invece come un alternativa alla fullvirtualization, e la differenza principale consiste nella necessità di avere un sistema operativo con il kernel modificato, questo per evitare la totale traduzione delle istruzioni (binary translation) e ridurre così il carico di lavoro extra introdotto da quest ultima. Lo svantaggio principale è l impossibilità di virtualizzare sistemi operativi non modificabili, come ad esempio Windows. Intel, negli ultimo anni, ha contribuito al progetto Xen introducendo il supporto per la sua tecnologia VT-x (conosciuta con il nome di Vanderpool): se eseguito su sistemi dotati di questa caratteristica, Xen permette di creare delle macchine virtuali che consentono ai sistemi operativi ivi installati di girare senza modifiche. Una tecnologia simile, denominata AMD-V (alias Pacifica), sviluppata da AMD consente di ottenere lo stesso risultato con sistemi basati su processori AMD. Questa terza alternativa, denominata hardware assisted virtualization, aggiunge ai processori un nuovo set di istruzioni usato dalla VMM per la creazione ed il supporto alle VM. Tali processori presentano un ulteriore livello al di sotto del Ring 0, chiamato root mode level, in cui gira il virtualization layer il quale intercetta le chiamate provenienti dal soprastante Ring 0, senza più la necessità di effettuare la binary translation, permettendo così alle VM di posizionarsi al Ring 0. Grazie al supporto delle VT-x o AMD-V Xen ha la capacità così di implementare la full-virtualization tramite l hardware assisted virtualization. 19

25 2.3 Virtual CPU, memoria, I/O e networking Virtualizzazione della memoria Dopo il processore, la memoria è l altro componente fondamentale da virtualizzare, ovvero da suddividere ed allocare dinamicamente alle varie macchine virtuali in esecuzione. Il meccanismo presente in Xen è molto simile alla gestione della memoria virtuale dei moderni sistemi operativi: le applicazioni vedono uno spazio di indirizzamento contiguo, non necessariamente strutturato allo stesso modo sulla memoria fisica, in quanto il sistema operativo si occupa di tenere traccia della mappa tra le pagine virtuali e le risorse reali. Le moderne CPU contengono due componenti, la Memory Management Unit (MMU) ed il Translation Lookaside Buffer (TLB), proprio per ottimizzare la gestione della memoria virtuale. Per eseguire più macchine virtuali su un singolo sistema fisico, si rende quindi necessario un altro livello di virtualizzazione della memoria (Waldspurger, 2002), come visibile in Figura 2.5. Figura 2.5: Virtualizzazione della memoria Il sistema operativo guest continua nella sua funzione di mappatura delle pagine di memoria virtuale, con la differenza che esso non ha più accesso diretto alla memoria fisica della macchina, ma questo compito ora è eseguito dall hypervisor, il quale usa il TLB per mappare la memoria virtuale direttamente su quella reale (machine memory), evitando così la doppia traduzione ad ogni accesso. 20

26 2.3 Virtual CPU, memoria, I/O e networking Virtualizzazione delle periferiche Anche per quanto riguarda le periferiche di Input/Output, l hypervisor offre al sistema guest un insieme di dispositivi standard, i quali emulano altrettanti dispositivi noti (scheda di rete, scheda video, controller disco, ecc.) e traducono le richieste all hardware di sistema. Questa standardizzazione aumenta la portabilità delle macchine virtuali, le quali possono girare indipendentemente dal particolare hardware presente sulla macchina fisica. La filosofia di Xen fa in modo di delegare il supporto all hardware ai domini. Questo per rendere il più semplice possibile il kernel di Xen e quindi migliori risultati in termini di affidabilità e prestazioni La virtualizzazione della rete Nel caso della virtualizzazione delle risorse di rete, l introduzione di schede virtuali (virtual NIC) e switch virtuali (virtual switch) semplifica enormemente la creazione di una infrastruttura di rete virtuale. Si possono realizzare topologie anche abbastanza complesse senza che sia necessario acquistare un singolo componente reale aggiuntivo. Inoltre, tutto il traffico di rete che transita all interno dei virtual switch di un medesimo host non impatta minimamente sul consumo di banda della rete fisica, in quanto i pacchetti vengono effettivamente immessi nella rete solo quando è necessario che escano realmente dall host. Xen crea di default sette coppie di interfacce ethernet virtuali che si possono utilizzare nel Dom0. Ogni coppia è pensabile come due interfacce di rete connesse tramite un cavo virtuale crossato interno. Tali interfacce sono chiamate vethx e vifx. In particolare veth0 è connessa a vif0.0, veth1 con vif0.1, e così via fino a veth7, connessa con vif0.7. Queste interfacce possono essere utilizzate configurando IP e MAC sul lato vethx e connettendo vifx a un bridge. Le modalità con cui si utilizzano queste interfacce varia a seconda del tipo di networking utilizzato sul Dom0. Dalla parte dei vari DomU Xen crea coppie di interfacce virtuali vify.x ed ethx, dove y corrisponde all id del dominio, mentre x numera le interfacce presenti sul DomU. 21

27 2.3 Virtual CPU, memoria, I/O e networking Figura 2.6: Il collegamento tra le interfacce fisiche e virtuali di Xen Le ethx risiedono sui DomU e sono dette dispositivi di frontend, mentre le vif risiedono tutte sul Dom0, e sono chiamate dispositivi di backend. Lo schema utilizzato per le interfacce virtuali è quello illustrato in Figura 2.6. Quando la macchina DomU viene spenta, l interfaccia ethernet virtuale corrispondente viene eliminata. Bridged Networking La configurazione di rete di default che usa Xen è quella del bridge, la quale permette ai singoli domini di apparire sulla rete come host indipendenti tra loro. L instradamento dei pacchetti avviene grazie alla suite di iptables, tramite le tre chains: PREROUTING, FORWARD e POSTROUTING. In questo modo si possono controllare i pacchetti che saranno instradati da e verso i nostri domini: in poche parole il bridge funge da switch virtuale ed instrada i pacchetti che arrivano sull interfaccia fisica verso i domini corrispondenti. Quando i pacchetti arrivano sull interfaccia fisica, il driver reale del Dom0 gestisce l arrivo e li invia a sua volta all eth0 la quale è legata al bridge. Successivamente i pacchetti vengono distribuiti sulle varie interfacce virtuali connesse al proprio DomU: poiché ci sono un certo numero di vifx.y collegate al bridge, l unico modo per sapere dove instradare i pacchetti è dato dall indirizzo MAC contenuto all interno del pacchetto. Dalle varie vifx.y i pacchetti infine conflui- 22

28 2.3 Virtual CPU, memoria, I/O e networking Figura 2.7: Schema delle interfacce in modalità Bridge scono nelle interfacce interne dei domini ospiti. Routed Networking Tramite questa tipologia è possibile creare un link point-to-point tra il Dom0 ed ogni DomU e una regola di routing è aggiunta nel Dom0 per ogni macchina virtuale ospite: in questo modo la DomU necessita di un indirizzo IP statico per l instradamento dei pacchetti. 23

29 Capitolo 3 L implementazione dei servizi IT 3.1 L infrastruttura IT In questo capitolo verrà analizzata tutta la parte implementativa dell infrastruttura IT realizzata. Essa consiste nell insieme delle risorse tecnologiche condivise che integrate tra loro forniscono l ambiente operativo per le applicazioni e le procedure di un laboratorio universitario. Queste risorse possono essere di tipo hardware come server e storage o di tipo software come i sistemi operativi e le applicazioni personalizzate. A tale progetto ha lavorato, insieme al sottoscritto, il dott. Ruggiero Santoro e il dott. Francesco Ungolo. L attività di lavoro è stata svolta presso il Politecnico di Bari e nello specifico all interno del Laboratorio Telematics sito nel Dipartimento di Ingegneria Elettrica e dell Informazione (DEI). La supervisione è stata affidata al prof. Gennaro Boggia all interno del progetto di rifacimento dell intera struttura di rete dei laboratori dipartimentali. L esercizio implementativo si basa sull idea di poter utilizzare un server fisico che, tramite l ambiente di virtualizzazione Xen, ci permetta di utilizzare più macchine virtuali per l erogazione di tutti i servizi di rete necessari al corretto funzionamento del laboratorio di ricerca universitario. Tali servizi spaziano dal semplice rilascio di IP e connettività per accedere alla rete Internet e far comunicare tutti i computer tra di loro, passando per i servizi di accesso remoto e monitoraggio della rete, fino all utilizzo di regole di 24

30 3.1 L infrastruttura IT firewalling avanzato per la messa in sicurezza dei sistemi e garantirne l accesso controllato. Lo schema implementato di tutta la rete è visibile in Figura 3.1: come è possibile notare l intera rete ha un unico punto di accesso internet con un unico ip pubblico ( xx) collegato ad un router/firewall (edge router), configurato per poter far accedere dall esterno ai servizi di rete della DMZ (demilitarized zone con IP /24) e, tramite la rete privata con IP /24, fornire la connettività Internet ai terminali collegati alla rete interna (LAN con IP /24). Figura 3.1: Infrastruttura di rete Come ulteriore sicurezza è stato implementato un secondo router/firewall (Main Router) che permette la messa in sicurezza e l accesso controllato ad internet e ai servizi di rete presenti nella rete interna (LAN) e nella DMZ. Ricordiamo inoltre che una DMZ (demilitarized zone) è un segmento isolato della LAN (che nel nostro caso ha ip /24) raggiungibile sia da reti interne sia esterne, ma caratterizzata dal fatto che gli host attestati sulla DMZ hanno possibilità limitate di connessione verso host specifici della rete interna. Tale configurazione viene normalmente utilizzata per permettere ai server posizionati sulla DMZ di fornire servizi all esterno, senza compromettere la sicurezza della rete interna nel caso una di tali macchine sia sottoposta ad un attacco in- 25

31 3.2 Installazione di Xen e delle VM formatico: per chi si connette dall esterno la DMZ è infatti una sorta di strada senza uscita o vicolo cieco. 3.2 Installazione di Xen e delle VM Per l implementazione di tutta l infrastruttura IT è stato utilizzato un server fisico dotato di un processore Intel di tipo quad-core a 64bit (con le estensioni VT-x), 4GByte di RAM, storage interno SATA e due schede di rete. Il sistema operativo utilizzato per l installazione del virtualizzatore Xen è Ubuntu Server 14.04LTS 64bit. Tale scelta è stata dettata sia dalla disponibilità nativa di Xen all interno dei repository di Ubuntu Server, sia dall alto grado di compatibilità hardware e dei driver che tale sistema operativo ormai supporta. Successivamente all installazione del sistema operativo ed alla sua corretta configurazione si è passato all installazione del software di virtualizzazione Xen tramite la console dei comandi: $ sudo apt-get install xen-hypervisor-amd64 Al termine, riavviando il sistema, è così possibile scegliere l avvio dell hypervisor Xen insieme al sistema operativo, tramite la voce presente in GRUB 1 visibile durante la fase di boot. Per verificare il corretto avvio e funzionamento di Xen è possibile utilizzare il comando xl quale strumento per la gestione domini guest Xen. Il comando può essere utilizzato per creare, mettere in pausa e terminare i domini. Può anche essere utilizzato per elencare i domini attualmente attivi quali Dom-0 e Dom-U, come mostrato di seguito: $ sudo xl list Name ID Mem VCPUs State Time(s) Domain r che evidenzia come il Dom-0 sia attivo con ID=0, ha a disposizione 1536MByte di RAM e 4 VCPUs, sia in stato di running (r) ed è attivo da 54,1 secondi. 1 GNU GRUB (GNU GRand Unified Bootloader) è un boot loader usato da molte distribuzioni Linux. 26

32 3.2 Installazione di Xen e delle VM Figura 3.2: L architettura di Xen da implementare Verificato quindi il corretto avvio di Xen è necessario configurare i bridge di rete per il loro corretto funzionamento, come abbiamo evidenziato nel capitolo precedente. Da riga di comando installiamo l utility di controllo dei bridge di rete: $ sudo apt-get install bridge-utils $ sudo nano /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto xenbr0 iface xenbr0 inet manual bridge-ports eth0 auto eth1 iface eth1 inet manual auto xenbr1 iface xenbr1 inet manual bridge_ports eth1 e una volta configurate, riavviamo le schede di rete così da poter verificare il corretto funzionamento del bridge sulle interfacce virtuali create da Xen: 27

33 3.2 Installazione di Xen e delle VM $ sudo ifdown eth0 && sudo ifup xenbr0 && sudo ifup eth0 $ sudo ifdown eth1 && sudo ifup xenbr1 && sudo ifup eth1 $ sudo brctl show bridge name bridge id STP enabled interfaces xenbr d no eth0 xenbr feffffffffff no eth1 Una volta verificata le funzionalità di rete è possibile passare all installazione delle macchine virtuali (guest) ed alla loro corretta configurazione. Tramite l utilizzo delle estensioni Intel VT-x su Xen è stata possibile l installazione nativa e senza modifiche (HVM) dei sistemi operativi virtualizzati: si è scelto così di creare quattro macchine virtuali con Ubuntu Server 14.04LTS come sistema operativo per la configurazione di tutti i servizi di rete necessari alla nostra LAN, ed una macchina virtuale OpenSuSE adibita al monitoring dell intera infrastruttura IT. I passi necessari al completamento di tale procedura per le VM con Ubuntu Server sono i seguenti (da replicare per ognuna delle VM): 1. creazione di un volume logico da 20GByte da utilizzare come hard disk per l installazione della macchina virtuale: $ sudo lvcreate -L 20G -n ubuntu-vm1 /dev/server-vg 2. creazione di un file di configurazione per la VM guest necessario per l installazione di Ubuntu Server tramite l emulazione di un CD-ROM con montata l immagine ISO della distribuzione: $ sudo nano /etc/xen/ubuntu-vm1.cfg name = "ubuntu-vm1" memory = "512" vcpus = 1 vif = [ bridge=xenbr0, bridge=xenbr1 ] disk = [ phy:/dev/server-vg/ubuntu-vm1, sda, w, file:/root/ubuntu server.iso, hdc:cdrom, r ] boot = "dc" 28

34 3.2 Installazione di Xen e delle VM 3. avvio dell installazione: $sudo xl create /etc/xen/ubuntu-vm1.cfg -c 4. al termine dell installazione è necessario spegnere la macchina virtuale, rimuovere le voci relative al montaggio dell immagine ISO di Ubuntu Server ed abilitare il bootloader pygrub 1 : $ sudo nano /etc/xen/ubuntu-vm1.cfg name = "ubuntu-vm1" memory = "512" vcpus = 1 vif = [ bridge=xenbr0, bridge=xenbr1 ] disk = [ phy:/dev/server-vg/ubuntu-vm1, sda, w] bootloader = "pygrub" $sudo xl create /etc/xen/ubuntu-vm1.cfg Così facendo, e replicando la procedura per le altre tre macchine virtuali, i quattro guest risultano essere funzionanti correttamente e pronta per essere configurati con i servizi di rete. 5. Come ultimo passo nell installazione delle macchine virtuali abbiamo ipotizzato l utilizzo di uno strumento di monitoraggio dei servizi della rete e delle macchine virtuali. La nostra scelta è ricaduta sul software di monitoring chiamato Zabbix, di cui è disponibile per il download 2 l Appliance per Xen, su base OpenSuSE, già configurata e pronta all uso: è necessario solo scaricarla, copiarla nella cartella di /etc/xen e avviare la macchina virtuale tramite il suo file di configurazione modificato per le nostre esigenze: $ sudo nano /etc/xen/monitoring.xenconfig

35 3.3 I servizi di rete # -*- mode: python; -*- name="monitoring" memory="768" bootloader="pygrub" disk=[ "tap:aio:/etc/xen/monitoring.raw,xvda,w" ] vif=[ "bridge=xenbr0","bridge=xenbr1"] vfb = ["type=vnc,vncunused=1,vnclisten= "] $ sudo xl create /etc/xen/monitoring.xenconfig Alla fine del processo di installazione di tutti i guest, visualizzando col comando xl list l elenco dei domini attivi, il risultato sarà il seguente: $ sudo xl list Name ID Mem VCPUs State Time(s) Domain r ubuntu-vm b ubuntu-vm b ubuntu-vm b ubuntu-vm b monitoring b Si noti che l assegnazione del nome delle VM è del tutto arbitraria. Come vedremo in seguito le VM verranno rinominate in base al loro ruolo all interno dell infrastruttura IT. 3.3 I servizi di rete L infrastruttura di rete è stata pensata per soddisfare tutte le esigenze di studenti e ricercatori, dalla fornitura della semplice connettività di rete sino alla gestione dell accesso remoto alla rete LAN da parte di un utente esterno. Tutti i servizi sono stati suddivisi in cinque macro-aree (e quindi implementati nelle cinque VM viste precedentemente) relative a: networking di base (VM NetServices); routing, sicurezza e accesso remoto (VM MainRouter); 30

36 3.3 I servizi di rete webserver interno e sistema di controllo versione per software (VM Servers); sistema per la gestione di una Certification Authority (VM Trust); software di monitoring che consente di controllare la disponibilità e le performance dell infrastruttura IT (VM Zabbix). L installazione dei software richiesti è stata effettuata con la classica procedura disponibile in Ubuntu, utilizzando i repository standard che garantiscono aggiornamenti e stabilità dei pacchetti software, tramite il comando $ sudo apt-get install <nome pacchetto> Al termine dell installazione il software richiesto è stato opportunamente configurato per sopperire alle esigenze richieste Networking di base: VM NetServices In questa prima macchina virtuale sono stati implementati tutti i servizi di networking di base, come il server DHCP, il server DNS ed il server Proxy, necessari per poter operare sulla LAN stessa ed accedere ad Internet. L indirizzo IP dell unica scheda di rete abilitata di questa macchina virtuale (eth0 su bridge virtuale xenbr0) è assegnato manualmente. Server DHCP Il Dynamic Host Configuration Protocol (DHCP o protocollo di configurazione IP dinamica) è un protocollo di rete di livello applicativo che permette ai terminali di una certa rete locale di ricevere dinamicamente, ad ogni richiesta di accesso a una rete IP, la configurazione necessaria per stabilire una connessione e operare su una rete più ampia basata su Internet Protocol, cioè interoperare con tutte le altre sottoreti scambiandosi dati, purché anch esse integrate allo stesso modo con il protocollo IP. Ogni terminale quindi ha bisogno di un indirizzo IP valido che viene scelto in modo tale che appartenga all insieme di indirizzi possibili assegnati all intera sottorete a cui è collegato. Tale indirizzo IP deve essere univoco, cioè non ci devono essere altri terminali che stiano già utilizzando quell indirizzo. 31

37 3.3 I servizi di rete Per ottemperare a questa necessità si utilizza un Server DHCP, il quale assegna gli indirizzi IP ai terminali che ne facciano richiesta. Il range degli indirizzi IP assegnabili è settato nei parametri di configurazione del Server DHCP, assieme agli altri parametri che vengono rilasciati ad ogni richiesta di indirizzo IP, quali la maschera di sottorete, il default gateway, gli indirizzi dei server DNS, in nome di dominio DNS di default, etc. Il DHCP utilizza il protocollo UDP 1 e le porte interessate sono la 67 per il server e la 68 per il client. Quando un terminale vuole ottenere un indirizzo tramite DHCP, attiva il processo DHCP client e, poiché il calcolatore non ha un indirizzo IP valido, non può usare tutte le funzionalità della rete. La procedura descritta dal protocollo consta di diversi handshake tra client e server, ovvero scambio di pacchetti, ovviamente tutti incapsulati in frame di livello datalink, come Ethernet: 1. In primis, il client invia un pacchetto chiamato DHCPDISCOVER in broadcast, con indirizzo IP sorgente messo convenzionalmente a , e destinazione (indirizzo di broadcast). 2. Il pacchetto è ricevuto da tutto il dominio di broadcast e in particolare dal Server DHCP, il quale può rispondere con un pacchetto di DHCPOFFER in cui propone un indirizzo IP assieme agli altri parametri di configurazione al client. Questo pacchetto di ritorno è indirizzato direttamente all indirizzo di livello datalink del client (che non ha ancora un indirizzo IP) cioè in unicast, per cui può essere inviato solo da un server che si trovi sullo stesso dominio di broadcast. A questo punto, il client è autorizzato a usare l indirizzo ricevuto per un tempo limitato, detto tempo di lease. Prima della scadenza, dovrà tentare di rinnovarlo inviando un nuovo pacchetto DHCPREQUEST al server, che gli risponderà con un DHCPACK se vuole prolungare l assegnazione dell indirizzo. Questi sono normali pacchetti IP unicast scambiati tra due terminali che hanno indirizzi validi. 1 User Datagram Protocol 32

38 3.3 I servizi di rete Se il client non riesce a rinnovare l indirizzo, tornerà allo stato iniziale cercando di farsene attribuire un altro. Il Server DHCP installato su questa VM ha un range di assegnazione di 70 IP che vanno dal al rilasciato assieme alla maschera di sottorete ( ), al default gateway ( ), al server DNS ( ) e al nome di dominio DNS. Server DNS Il sistema dei nomi di dominio (Domain Name System o DNS), è un sistema utilizzato per la risoluzione di nomi dei nodi della rete in indirizzi IP e viceversa. Il servizio è realizzato tramite un database distribuito, costituito dai server DNS. L utilizzo di in Server DNS nasce dalla possibilità di attribuire un nome testuale facile da memorizzare a un server (ad esempio un sito www): questo ne migliora di molto l uso del servizio in quanto gli esseri umani trovano più facile ricordare nomi testuali (mentre gli host e i router sono raggiungibili utilizzando gli indirizzi IP numerici). I DNS implementano uno spazio gerarchico dei nomi, per permettere che parti di uno spazio dei nomi, conosciute come zone, possano essere delegate da un name server ad un altro name server che si trova più in basso nella gerarchia. Un server DNS può essere configurato per assolvere ad una o più delle seguenti funzioni: server autorevole per una o più zone, ovvero il server su cui sono configurati i dati di una zona, e che è delegato a gestirla tramite record NS inseriti nella zona superiore. Normalmente sono presenti più server autorevoli per una zona. server ricorsivo ovvero il server che viene configurato in una popolazione di client, che si occupa di risolvere le query che riceve interrogando i server originali, e mantenendo una cache delle risposte ricevute. DNS dinamico o DDNS, indica un insieme di tecnologie che permettono di inserire automaticamente in una zona DNS gli indirizzi di computer che ottengono un indirizzo non predefinito, tipicamente attraverso il protocollo DHCP. 33

39 3.3 I servizi di rete Nel nostro caso il Server DNS è stato configurato per gestire più zone in modalità autoritativa, demandare con una query forwarder al Server DNS dell ISP le richieste che non riesce a risolvere internamente e gestire anche l auto-aggiornamento dei record DNS tramite il DDNS. Il software DNS implementato (BIND9 1 ) utilizza il protocollo di trasporto UDP e la porta 53 per soddisfare le richieste di risoluzione provenienti dagli host. Proxy Un Proxy è un software che si interpone tra un client ed un server facendo da tramite o interfaccia tra i due host, ovvero inoltrando le richieste e le risposte dall uno all altro. Il client si collega al Proxy invece che al server, e gli invia delle richieste. Il Proxy a sua volta si collega al server e inoltra la richiesta del client, riceve la risposta e la inoltra al client. Un caso in cui viene spesso usato un Proxy è la navigazione web (denominato Proxy HTTP) e può essere usato per una o più delle seguenti ragioni: connettività: per permettere ad una rete privata di accedere all esterno è possibile configurare un computer in modo che faccia da proxy tra gli altri computer e Internet, in modo da mantenere un unico computer connesso all esterno, ma permettere a tutti di accedere. In questa situazione, solitamente il proxy viene usato anche come firewall. caching: un proxy può immagazzinare per un certo tempo i risultati delle richieste di un utente, e se un altro utente effettua le stesse richieste può rispondere senza dover consultare il server originale. Collocando il proxy in una posizione vicina agli utenti, questo permette un miglioramento delle prestazioni ed una riduzione del consumo di ampiezza di banda. monitoraggio: un proxy può permettere di tenere traccia di tutte le operazioni effettuate (ad esempio, tutte le pagine web visitate), consentendo statistiche ed osservazioni dell utilizzo della rete ma che possono anche violare la privacy degli utenti

40 3.3 I servizi di rete controllo: un proxy può applicare regole definite dall amministratore di sistema per determinare quali richieste inoltrare e quali rifiutare, limitare l ampiezza di banda utilizzata dai client, oppure filtrare le pagine web in transito, ad esempio bloccando quelle il cui contenuto è ritenuto offensivo in base a determinate regole o contrarie alle policy di utilizzo. privacy: un proxy può garantire un maggiore livello di privacy mascherando il vero indirizzo IP del client in modo che il server non venga a conoscenza di chi ha effettuato la richiesta. Nel nostro esercizio l implementazione del Server Proxy (SQUID 1 ) è stata dettata prevalentemente per esigenze sia di web caching, che come abbiamo sottolineato permette un miglioramento delle prestazioni della rete ed una riduzione del consumo di ampiezza di banda, sia per garantire privacy e accesso a risorse protette agli eventuali client che si connettono dall esterno via VPN Routing, sicurezza e accesso remoto: VM Main- Router In questa seconda macchina virtuale sono stati implementati tutti i servizi di routing, sicurezza e accesso remoto, quali la componente del kernel linux netfilter che tramite il software iptables permette di definire le regole per i filtri di rete e il reindirizzamento NAT 2, e il software OpenVPN per creare tunnel crittografati punto-punto fra i computer, garantendo un accesso remoto e sicuro alla LAN. Netfilter/Iptables Netfilter permette di realizzare alcune funzionalità di rete avanzate come la realizzazione di firewall basata sul filtraggio stateful dei pacchetti o configurazioni anche complesse di NAT (un sistema di traduzione automatica degli indirizzi IP) tra cui la condivisione di un unica connessione Internet tra diversi computer di una rete locale, o ancora la manipolazione dei pacchetti in transito. Per configurare netfilter si utilizza il programma iptables Network Address Translate 35

41 3.3 I servizi di rete Netfilter estende le capacità native di instradamento pacchetti IP del kernel Linux, permettendo di realizzare dei router/firewall molto sofisticati. Nel nostro caso questa macchina virtuale ha due indirizzi IP associati alle due schede di rete (eth0 su bridge virtuale xenbr0 e eth1 su bridge virtuale xenbr1), rispettivamente e , assegnati manualmente. Tale configurazione con due schede di rete è resa necessaria per poter espletare tutte le necessarie operazioni di instradamento e firewalling tra la rete interna LAN e la rete /24 adibita all accesso internet tramite l Edge Router, come mostrato in Figura 3.1. OpenVPN OpenVPN è un programma VPN (Virtual Private Network) usato per creare tunnel crittografati punto-punto fra i computer. Permette agli host di autenticarsi l uno con l altro per mezzo di chiavi private condivise, certificati digitali o credenziali utente/password. Usa in modo massiccio le librerie di cifratura OpenSSL e usa il protocollo SSLv3/TLSv1 1. OpenVPN concentra tutto il traffico dati e di controllo su una singola porta (1194 di default) UDP (preferita e predefinita) oppure TCP. Può funzionare attraverso la maggior parte dei server proxy (HTTP incluso) e non ha problemi ad integrarsi col NAT. Il server può inviare alcune opzioni di configurazione di rete ai client. Fra queste, l indirizzo IP, gli instradamenti, e alcune opzioni di connessione. Per espletare i servizi di accesso remoto, tramite OpenVPN sono state configurate due reti virtuali con IP /24 e /24, rispettivamente per i protocolli di connettività UDP e TCP. Tali reti sono state messe in sicurezza con una serie di regole di firewalling tramite iptables Webserver e controllo di versione: VM Servers Nella macchina virtuale denominata Servers sono stati installati tutti i servizi necessari alla fruizione di un webserver locale (LAMP) per la condivisione delle informazioni tramite pagine web, assieme al sistema di controllo di versione per

42 3.3 I servizi di rete lo sviluppo software (SVN), necessario per tutti gli utenti che hanno necessità di lavorare contemporaneamente su diversi file o addirittura sullo stesso file. Webserver LAMP Un server web (webserver) è un servizio che si occupa di fornire, tramite software dedicato e su richiesta dell utente, file di qualsiasi tipo, tra cui pagine web (successivamente visualizzabili dal browser sul PC dell utente). Le informazioni inviate dal server web all utente viaggiano in rete trasportate dal protocollo HTTP. L insieme di server web dà vita al World Wide Web, uno dei servizi più utilizzati di Internet. LAMP è un acronimo che indica una piattaforma software per lo sviluppo di applicazioni web che prende il nome dalle iniziali dei componenti software con cui è realizzata. I componenti di base, da cui prende il nome, sono: Linux: il sistema operativo; Apache: il Server Web; MySQL o MariaDB, database management system (o database server); Perl, PHP e/o Python: i linguaggi di scripting. La piattaforma LAMP è una delle più utilizzate a livello mondiale. Ognuna delle applicazioni dalle quali è composta è predisposta per l eccellente funzionamento in concomitanza con le altre. Il controllo di versione: SVN o subversion Il controllo versione (versioning), in informatica, è la gestione di versioni multiple di un insieme di informazioni. Gli strumenti software per il controllo versione sono ritenuti molto spesso necessari per la maggior parte dei progetti di sviluppo software. Tale controllo viene effettuato da Subversion (comunemente abbreviato in SVN ), un software open source che automatizza compiti come: tenere traccia di chi sta modificando che cosa; 37

43 3.3 I servizi di rete unire le modifiche una volta complete; segnalare eventuali conflitti; tenere una copia di ogni precedente versione e fare in modo che sia facilmente recuperabile. Anche se l utilizzo prevalente di Subversion è da parte dei programmatori, la struttura e le caratteristiche lo rendono utile anche per gestire file di tipo diverso, ad esempio documentazione, manuali, e persino file binari (immagini). Una delle caratteristiche appetibili di SVN è che l accesso dal client al repository (cioè al deposito centralizzato dei files) può avvenire anche attraverso il protocollo HTTP (sfruttando un apposito modulo di Apache), attraverso un apposito server standalone (SVNServe). A questa macchina virtuale è stato assegnato manualmente l IP (scheda di rete eth0 su bridge virtuale xenbr0) la quale garantisce, tramite la porta TCP/80, l accesso al webserver LAMP e contestualmente anche al repository SVN via HTTP. Inoltre, per questioni di sicurezza e backup, la cartella locale contenete il repository subversion è fisicamente presente in remoto su di un NAS 1 e viene montata in locale all avvio della VM tramite fstab Autorità di certificazione: VM Trust Per questioni di sicurezza e garantire l accesso remoto controllato tramite certificati SSL è stato necessario implementare una macchina virtuale che, tramite il software open source TinyCA, effettui la gestione di autorità di certificazione X.509. Tale VM ha indirizzo IP (scheda di rete eth0 su bridge virtuale xenbr0) ed è adibita esclusivamente di tale compito. Il suo scopo è quello di offrire una interfaccia facile da usare per la creazione di una autorità di certificazione e di tutti gli elementi relativi, compresi i certificati digitali X.509, richieste di certificati di firma e le liste di revoca dei certificati. Un suo esempio applicativo è visibile in Figura Network Attached Storage 38

44 3.3 I servizi di rete Figura 3.3: L interfaccia grafica di TinyCA Monitoring: VM Zabbix In ultima battuta, ma non meno importante, troviamo la macchina virtuale al cui interno è presente il software Zabbix. Figura 3.4: Dashboard e grafici disponibili in Zabbix Zabbix è un software open source di monitoring che consente di controllare la disponibilità e le performance di una infrastruttura IT ed è adibito a raccogliere 39

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

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

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

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

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP La virtualizzazione ed i suoi aspetti di sicurezza Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP Presentazione della Monografia - CAP 1: La virtualizzazione: concetti di base - CAP 2: La virtualizzazione

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

Linux Virtuale Linux Virtuale

Linux Virtuale Linux Virtuale 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

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

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

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

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

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Stampe in rete Implementazione corretta

Stampe in rete Implementazione corretta NETWORK PRINT SERVERS Articolo Stampe in rete Implementazione corretta Created: June 3, 2005 Last updated: June 3, 2005 Rev:.0 INDICE INTRODUZIONE 3 INFRASTRUTTURA DELLE STAMPE IN RETE 3. Stampa peer-to-peer

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

System Center Virtual Machine Manager Library Management

System Center Virtual Machine Manager Library Management System Center Virtual Machine Manager Library Management di Nicola Ferrini MCT MCSA MCSE MCTS MCITP Introduzione La Server Virtualization è la possibilità di consolidare diversi server fisici in un unico

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

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 StruxureWare Data Center ExpertDispositivo virtuale Il server StruxureWare Data Center Expert 7.2 è disponibile come dispositivo virtuale, supportato

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

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

Virtualizzazione VirtualBox 4.1.2 su Host Windows

Virtualizzazione VirtualBox 4.1.2 su Host Windows Virtualizzazione VirtualBox 4.1.2 su Host Windows La virtualizzazione, quando riferita all informatica, consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente.

Dettagli

Progetto Virtualizzazione

Progetto Virtualizzazione Progetto Virtualizzazione Dipartimento e Facoltà di Scienze Statistiche Orazio Battaglia 25/11/2011 Dipartimento di Scienze Statiche «Paolo Fortunati», Università di Bologna, via Belle Arti 41 1 La nascita

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

2 Gli elementi del sistema di Gestione dei Flussi di Utenza SISTEMA INFORMATIVO page 4 2 Gli elementi del sistema di Gestione dei Flussi di Utenza Il sistema è composto da vari elementi, software e hardware, quali la Gestione delle Code di attesa, la Gestione di

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

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

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

CONTROLLO NUMERICO Z32

CONTROLLO NUMERICO Z32 CONTROLLO NUMERICO Z32 Meccaniche Arrigo Pecchioli Via di Scandicci 221-50143 Firenze (Italy) - Tel. (+39) 055 70 07 1 - Fax (+39) 055 700 623 e-mail: pear@pear.it - www.pear.it Hardware Cn Costruito su

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Macchine Virtuali. Docente: Fabio Tordini Email: tordini@di.unito.it

Macchine 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)

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

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

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Allegato Tecnico Server Virtuale

Allegato Tecnico Server Virtuale Allegato Tecnico Server Virtuale Nota di lettura 1 Descrizione del servizio 1.1 Definizioni e acronimi 1.2 SERVER VIRTUALE Conversione tra diversi sistemi hypervisor 1.3 Attivazione del servizio Configurazione

Dettagli

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology Virtualization Strutturare per semplificare la gestione Communication Technology Ottimizzare e consolidare Le organizzazioni tipicamente si sviluppano in maniera non strutturata e ciò può comportare la

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

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente Cos'è una vlan Da Wikipedia: Una LAN virtuale, comunemente detta VLAN, è un gruppo di host che comunicano tra di loro come se fossero collegati allo stesso cablaggio, a prescindere dalla loro posizione

Dettagli

CONTROLLO NUMERICO Z32

CONTROLLO NUMERICO Z32 CONTROLLO NUMERICO Z32 Meccaniche Arrigo Pecchioli Via di Scandicci 221-50143 Firenze (Italy) - Tel. (+39) 055 70 07 1 - Fax (+39) 055 700 623 e-mail: pear@pear.it - www.pear.it Hardware Cn Costruito su

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Network Monitoring & Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Nicholas Pocher Poker SpA - Settimo Torinese, Novembre 2013 1 Indice Il Network Monitoring:

Dettagli

Dispositivi di rete. Ripetitori. Hub

Dispositivi di rete. Ripetitori. Hub Ripetitori Dispositivi di rete I ripetitori aumentano la distanza che può essere ragginta dai dispositivi Ethernet per trasmettere dati l'uno rispetto all'altro. Le distanze coperte dai cavi sono limitate

Dettagli

Vlan Relazione di Sistemi e Reti Cenni teorici

Vlan Relazione di Sistemi e Reti Cenni teorici Cosa sono le Vlan? Vlan Relazione di Sistemi e Reti Cenni teorici Le Vlan sono un tipo di rete particolare che permettono di creare tante reti logiche a partire da una singola rete fisica. Questo significa

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

Il sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

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

Acronis Universal Restore

Acronis Universal Restore Acronis Universal Restore MANUALE UTENTE Sommario 1 Che cos'è Acronis Universal Restore...3 2 Installazione di Acronis Universal Restore...3 3 Creazione di supporto di avvio...3 4 Utilizzo di Acronis Universal

Dettagli

Capitolo 1 Installazione del programma

Capitolo 1 Installazione del programma Capitolo 1 Installazione del programma Requisiti Hardware e Software Per effettuare l installazione del software Linea Qualità ISO, il computer deve presentare una configurazione minima così composta:

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

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

Introduzione a Dev-C++

Introduzione a Dev-C++ Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP

Dettagli

The Onion PC. Virtualizzazione strato dopo strato

The Onion PC. Virtualizzazione strato dopo strato The Onion PC Virtualizzazione strato dopo strato Cos'è un livello di astrazione? Cos'è un livello di astrazione? Nell'esecuzione di un programma un livello di astrazione rappresenta i gradi di libertà

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Ubiquity getting started

Ubiquity getting started Introduzione Il documento descrive I passi fondamentali per il setup completo di una installazione Ubiquity Installazione dei componenti Creazione del dominio Associazione dei dispositivi al dominio Versione

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

VMware. Gestione dello shutdown con UPS MetaSystem

VMware. Gestione dello shutdown con UPS MetaSystem VMware Gestione dello shutdown con UPS MetaSystem La struttura informatica di una azienda Se ad esempio consideriamo la struttura di una rete aziendale, i servizi offerti agli utenti possono essere numerosi:

Dettagli

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP Un indirizzo IP è composto da 32 bit. Generalmente, per convenienza, è presentato in decimale: 4 ottetti (bytes) separati da un punto. Ogni rete fisica

Dettagli

Virtualizzazione di macchine Linux tramite XEN

Virtualizzazione di macchine Linux tramite XEN 26 Novembre 2005 Struttura Introduzione alla virtualizzazione Cos è la virtualizzazione La virtualizzazione è un processo di astrazione in cui alcune risorse a livello più basso vengono presentate in maniera

Dettagli

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Amazon VPC (Virtual Private Cloud)

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Amazon VPC (Virtual Private Cloud) Community - Cloud AWS su Google+ Web Services VPC (Virtual Private Cloud) Oggi vediamo le caratteristiche generali del servizio di VPC per creare una rete virtuale nel cloud. Hangout 29 del 27.10.2014

Dettagli

Software Intel per la gestione di sistemi. Manuale dell'utente di Intel Modular Server Management Pack

Software Intel per la gestione di sistemi. Manuale dell'utente di Intel Modular Server Management Pack Software Intel per la gestione di sistemi Manuale dell'utente di Intel Modular Server Management Pack Dichiarazioni legali LE INFORMAZIONI CONTENUTE IN QUESTO DOCUMENTO SONO FORNITE IN ABBINAMENTO AI PRODOTTI

Dettagli

Una architettura peer-topeer per la visualizzazione 3D distribuita

Una architettura peer-topeer per la visualizzazione 3D distribuita Una architettura peer-topeer per la visualizzazione 3D distribuita Claudio Zunino claudio.zunino@polito.it Andrea Sanna andrea.sanna@polito.it Dipartimento di Automatica e Informatica Politecnico di Torino

Dettagli

SIMULAZIONE PROVA SCRITTA ESAME DI STATO. PER LA DISCIPLINA di SISTEMI

SIMULAZIONE PROVA SCRITTA ESAME DI STATO. PER LA DISCIPLINA di SISTEMI SIMULAZIONE PROVA SCRITTA ESAME DI STATO PER LA DISCIPLINA di SISTEMI L assessorato al turismo di una provincia di medie dimensioni vuole informatizzare la gestione delle prenotazioni degli alberghi associati.

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

MService La soluzione per ottimizzare le prestazioni dell impianto

MService La soluzione per ottimizzare le prestazioni dell impianto MService La soluzione per ottimizzare le prestazioni dell impianto Il segreto del successo di un azienda sta nel tenere sotto controllo lo stato di salute delle apparecchiature degli impianti. Dati industriali

Dettagli

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix Assegnamento di un indirizzo IP temporaneo a dispositivi Barix V 1.0 GUIDA RAPIDA Introduzione L obiettivo di questa guida rapida è fornire all utente un modo per poter assegnare un indirizzo IP temporaneo

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Fatti Raggiungere dal tuo Computer!!

Fatti Raggiungere dal tuo Computer!! Fatti Raggiungere dal tuo Computer!! Presentazione PcBridge è il modo rivoluzionario di accedere al proprio computer in qualsiasi momento e da qualsiasi luogo. Inserendo la penna usb OUT, Pcbridge permette

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1 1 VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1 Il linguaggio assemblyèil linguaggio del microprocessore. Un programma ècostituito daistruzioni assemblyche vengono interpretate ed eseguite dal microprocessore.

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13 FileMaker Pro 13 Utilizzo di una Connessione Desktop Remota con FileMaker Pro13 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054

Dettagli

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 NOVELL SCHEDA INTRODUTTIVA Seguire le procedure riportate di seguito per installare una nuova versione di SUSE Linux Enterprise 11.

Dettagli

Verifica scritta di Sistemi e Reti Classe 5Di 26.11.2015

Verifica scritta di Sistemi e Reti Classe 5Di 26.11.2015 Verifica scritta di Sistemi e Reti Classe 5Di 26.11.2015 Una azienda specializzata nella fornitura di servizi Internet quali hosting, housing, email, file server, in pratica un ISP (Internet Service Provider)

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. Protezione. Protezione. Obiettivi della protezione Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity.

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. UBIQUITY 5 Introduzione Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 20/01/2015 Disclaimer Le informazioni

Dettagli

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8 Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli