Introduzione alle virtual machine

Le virtual machine servono per astrarre dell’hardware di un computer per poter eseguire più sistemi operativi sullo stesso computer.

Lanciando un sistema operativo virtuale pare che questo stia girando su un calcolatore fisico con una CPU e la sua memoria dedicata.

Principalmente le virtual machine vengono usate per usare più sistemi operativi sulla stessa macchina concorrentemente (contemporaneamente).

Siccome l’hardware presente sul computer è condiviso tra il sistema operativo ospitante e le macchine virtuali, si possono avere dei conflitti sull’accesso alla varie periferiche.

Una delle maggior difficoltà è la gestione dei dischi: per questo motivo ogni virtual machine deve avere un suo disco virtuale, talvolta chiamato minidisc; questo disco virtuale è costituito da un file presente sul computer ospitante, file che viene visto dalla macchina virtuale come spazio disco su cui memorizzare le informazioni.

Una virtual machine non è un computer fisico, ma offre hardware virtuale. Talvolta durante le fasi di I/O (scrittura su disco, accesso al file system) si possono ottenere prestazioni diverse da quelle che si otterrebbero su un calcolatore reale: le performance possono essere migliori (accesso al file system) oppure inferiori, quando si effettuano passaggi di modalità utente-sistema, in fase di interpretazione.

Per migliorare le prestazioni si può adoperare hardware ottimizzato per la virtualizzazione come certe CPU ( processori IBM, Intel basati su Core Duo…).

Uno dei vantaggi forniti dalle virtual machine è la sicurezza: una macchina virtuale è completamente isolata e indipendente; un imprevisto crash di una machine non comporta il crash anche delle altre tanto meno del sistema operativo ospitante, per tanto non è necessario riavviare il computer ma solo terminare la virtual machine e avviarla nuovamente.

Si possono condividere informazioni tra le macchine virtuali o condividendo il loro disco virtuale oppure creando una rete virtuale.

Una virtual machine è estremamente utile per provare programmi per esempio evitando di danneggiare, in caso di errore, il file system. Si possono provare programmi su più sistemi operativi in modo più rapido, basta avviare una virtual machine e installare il sistema operativo.

I più importanti software che permettono di virtualizzare sono: VMware, Xen, VirtualBox, Qemu, VirtualPC…

Potrebbero interessarti anche...

8 risposte

  1. michele ha detto:

    Ciao a tutti.
    Avrei una domanda: è possibile fare una immagine con Norton Ghost (o equivalenti) di un S.O. windows e caricarlo come sistema operativo virtuale con Virtualbox (o equivalenti).
    Grazia in anticipo.
    Michele

  2. admin ha detto:

    So che si possono importare immagini di Norton Ghost (>=9) usando VMware Workstation. Potresti utilizzare Converter Import Wizard per importarla in VMware e poi usare la virtual machine in VirtualBox. Il Converter però non funziona se il sistema è Windows Vista.

  3. ilfiorista ha detto:

    @michele,

    sì, si può fare: crei il file ghost del disco, poi fai il restore del disco nel disco virtuale avviando il sistema da cd/floppy di ghost, poi riavvi la nuova macchina;

    se hai creato un pc virtuale windows, si lamenterà un po’, cercherà tutti i driver delle periferiche, ma alla fine funzionerà: ho provato a virtualizzare vecchi sistemi nt4 e windows95 con virtual pc e funziona tutto senza problemi

    augh

  4. Flap73 ha detto:

    Ho un caso da sottoporre alla vs attenzione.
    Lavoro in una piccola azienda dove abbiamo una 15 di postazioni di lavoro dislocate su tre diverse sedi.
    Sono tutte macchine XP Pro e Office Basic OEM in rete con un server win 2000 small business ed io sono, diciamo, “l’amministratore (autodidatta) del sistema informativo aziendale”.
    Purtroppo di frequente capita che per una ragione o un’altra i colleghi si scambiano il posto di lavoro ed ogni volta devono chiamare me perché gli devo riconfigurare i programmi i documenti l’account su exchange ecc… capite bene che scocciatura soprattutto quando siamo in un periodo in cui tutti dobbiamo correre. So che esiste la possibilità di uilizzare per lo scopo il profilo comune ma non mi aiuta a risolvere il problema completamente perchè mi obbliga ad installare un programma che utilizza escusivamente un utente anche su il pc dove l’utente deve poter lavorare temporaneamente … quindi da punto a capo.
    Ma è possibile avere diciamo così un’applicazione per la virtualizzazione lato server che mi faccia preparare una macchina per assegnarla ad un utente e poi che in base a dove l’utente si logga l’applicazione scarica la macchina virtuale preparata per quell’utente specifico?

  5. valent ha detto:

    La cosa ideale sarebbe installare i programmi necessari su ogni macchina e poi creare uno spazio per i documenti dell’utente su un server comune.
    Se è un problema di $ poiché le licenze di alcuni programmi sono molto costose, la virtualizzazione può essere una strada possibile. In questo caso si ricorre alla virtualizzazione desktop (http://www.vmware.com/products/vdi/).
    Non è facile da gestire un gruppo di macchine virtuali create con VirtualBox, QEMU…
    Anzi penso che sia talmente oneroso e quasi impossibile, per questo è necessario ricorrere a soluzioni commerciali.
    Penso che convenga provare qualche prodotto tipo VMware VDI, VMware ACE, Citrix XenDesktop.

  6. Mave ha detto:

    Problema le porte seriali.
    Ho sul mio host installata una porta seriale virtuale in cui dovrei far passare dei dati, USB Serial Port COM4, ho provato ad abilitare le porte serial sulla macchina virtuale COM4, dispositivo, port path: COM4 e non riesco poi a vedere nulla, infatti se vado nella gestione delle periferiche non vedo la porta COM4.
    Dove sbaglio. Grazie mille.

  7. valent ha detto:

    Che programma di virtualizzazione vuoi usare?

  1. 21 Agosto 2007

    […] può adoperare contemporaneamente a quello che ha avviato il computer. Per altre informazioni sulle macchine virtuali. Esistono diversi tipi di virtualizzazione, i principali […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *