venerdì 9 febbraio 2007

Virtualizzazione: cos'è e quando usarla

Una cosa che mi ha sempre affascinato è l'idea che su un PC potessero girare più sistemi operativi contemporaneamente, ognuno nella sua finestra, e fare più cose insieme senza che si dessero il minimo fastidio. Quando ho scoperto e provato i programmi di virtualizzazione un piccolo sogno si è realizzato. Ma cos'è la virtualizzazione? A cosa può servirci?

Andiamo con ordine.


Cos'è la virtualizzazione


Consideriamo un attimo com'è fatto il nostro PC.
Un processore, una buona dotazione di memoria RAM, la scheda grafica, scheda audio, un disco rigido, il lettore DVD, un pò di porte USB ed un modem sono la dotazione più comune.

Prendiamo ora un programma che simula tutto questo. Ecco, in estrema sintesi (non me ne vogliano gli esperti, voglio solo far capire senza l'intenzione di essere rigoroso) questa è la virtualizzazione: ricreare all'interno di un programma un intero PC.


Quando usare la virtualizzazione

Ma in concreto poi, quando ci conviene usare la virtualizzazione?
Vediamo qualche situazione da usare come spunto per le nostre personali esigenze:Quasi sempre all'acquisto del nostro PC c'è Windows pre-installato.

- Immaginate ora di voler installare Linux su un PC con Windows già installato.
Dovreste "sezionare" il vostro disco rigido in più parti (in gergo si chiamano partizioni), una che resta al Windows già installato (stando bene attenti a non danneggiarlo), le altre (ne servono almeno altre 2) da destinare all'installazione di Linux. Ma perché impiegare tanto tempo e rischiare che alla fine non funzioni più nulla, ne Windows e ne Linux? Installiamo invece il nostro programma di virtualizzazione e senza mettere in pericolo i nostri dati ne Windows già funzionante, ci ritroviamo con un PC virtuale su cui installare e usare Linux.

- Provare programmi su un PC "cavia" virtuale.
Non è necessario "sporcare" la macchina che magari usiamo per lavoro installando software del cui funzionamento non siamo sicuri. Creiamo un salvataggio del PC virtuale (in gergo Snapshots, istantanee) e poi installiamo il programma da provare sulla macchina virtuale dove abbiamo installato Windows (si, avete capito bene, installiamo Windows all'interno di Windows stesso). Qualunque cosa accada, in pochi minuti siamo in grado di ritornare ad avere il nostro PC virtuale funzionante semplicemente ricaricando il salvataggio fatto in precedenza.

- Provare nuove versioni di un sistema operativo.
Volete provare Windows Vista oppure una nuova distribuzione di Linux senza modificare nulla nel vostro PC? Niente paura: lo installate sulla macchina virtuale e fate tutte le prove che volete.

Usare vecchie versioni di sistema operativo.
Eh si, a volte si pone il problema di tornare indietro ad una vecchia versione di un sistema operativo. Ad esempio il programma di contabilità aziendale gira solo sotto Windows 2000 e nessuno vuole spendere soldi per la nuova versione tanto quella vecchia va benissimo. Oppure un vecchio corso d'inglese gira solo sotto Windows 3.1/95 (si, è proprio vecchio) e non posso certo reinstallare Windows 95 solo per far girare il corso d'inglese. Tra l'altro con i PC più recenti questo sistema operativo non gira neanche, non riconoscendo buona parte dell'hardware attualmente in circolazione.

- Far girare un programma scritto per un sistema operativo diverso da quello installato.
E' il caso tipico di chi usa per lo più Linux e ha un programma, magari quello fornito con la macchina digitale, che funziona solo in Windows. Invece di installare Windows sulla macchina reale solo per scaricare le foto, lo installa in totale sicurezza su quella virtuale a cui accede solo quando serve.

- Sviluppare e testare programmi per più sistemi operativi.
Uno sviluppatore sta scrivendo e testando un'applicazione in versione Windows, Linux, OS X, dovrebbe avere installati tutti e tre i sistemi operativi sulla sua macchina e riavviare ogni volta che vuole cambiare sistema operativo: inutile. Virtualizzerà gli altri due sistemi operativi e lì avvierà in due finestre diverse del programma di virtualizzazione potendo così lavorare in parallelo in tutti e tre i sistemi operativi.

- Testare un sito Web con diversi browser e sistemi operativi.
Immaginate di voler sviluppare un sito web. Come sarà visualizzato a seconda della combinazione browser-sistema operativo? Niente di più semplice: in una finestra fate girare un PC virtuale con Linux configurato con Firefox, Opera o quello che serve, in un'altra Windows con Explorer versione 5.5, in un'altra ancora Windows con Explorer 6 e così via.

- Navigare in maniera sicura.
Immaginiamo di aver configurato un PC virtuale per poter navigare in internet. Inavvertitamente rimaniamo infettati da un virus: è infettato solo il PC virtuale e lì resta confinata l'infezione. Anche il tentativo di un Cracker (come si chiamano esattamente quelli che gli organi d'informazione definiscono Hacker) di entrare abusivamente nel nostro PC rimarrà confinato a quello virtuale con cui stiamo navigando.

Bene, anche se questi sono solo alcuni esempi in cui torna utile usare la virtualizzazione, spero vi abbiano solleticato quel tanto che basta la curiosità per volerla provare sul campo.

Nel post "Virtualizzazione: installiamo Virtualbox" vedremo come farlo in concreto.
@:\>