Configurazioni Dual-Boot
Le configurazioni dual-boot sono pratiche per configurazioni multi-OS. La loro relativa semplicità di configurazione, dedicando partizioni separate per ambienti produttivi, passando da sistemi diversi e isolati, dove ogni OS potrebbe essere installato, configurato, distrutto, ripristinato o ricostruito indipendentemente dall’altro. Lo svantaggio deriva dal tempo perso tra lo spegnimento di un OS e il riavvio per passare all’altro. In particolare, questo non scala bene in ambienti dove lo sviluppo del kernel o le modifiche del codice e basso livello richiedono frequenti riavvi.
Sebbene ci siano stati evideni sviluppi nelle applicazioni cross-platform dal punto di vista Linux, come una soluzioni driver captive NTFS che permette di leggere e scrivere su volumi NTFS, questi opzioni rimangono limitate a quei pochi informati che non sono spavantati dallo sperimentare con linee di comando non familiari. Inoltre, l’emulazione provvede semplicemente a fornire un ambiente libero per lavorare con applicazioni Windows (o viceversa) in un semplice e autonomo formato.
Numerose soluzioni preconfezionate sul mercato fanno esattamente la stessa cosa - cioè, creano un ambiente emulato (o astratto) in cima alla piattaforma Linux sopra la quale le applicazioni di altri sistemi operativi (specialmente Windows) potrebbero lavorare. Ci sono ambienti ad emulazione "parziale" – come un semplice crossover di API che traslitterano le funzioni specifiche di Windows in librerie Linux-style e viceversa. Poi ci sono offerte più robuste e complete che forniscono un vasto assortimento di capacità, permettendo a uno o più OS di operare allo stesso tempo, di solito all’interno di un altro OS in una relazione guest/host.
Dove l’emulazione cerca di ricreare le risorse hardware e software all’intenro di un ambiente reale, la virtualizzazione cerca di suddividere logicamente le risorse hardware reali (e il software) all’interno di ambienti operativi multipli dedicati. Mentre la virtualizzazione è utilizzata per descrivere le capacità di creare un piano di esistenza virtuale per un sistema operativo guest all’interno di un sistema operativo host, questa è una descrizione incompleta nella migliore delle ipotesi. La virtualizzazione può avvenire a livello software, con o senza modifiche al guest e all’OS sottostante, o persino all’interno di un core come succederà con gli Opteron dotati di tecnologia Pacifica o i prodotti a 65 nm di Intel.
Altrettanto, ci sono molti tipi e variazioni tra i metodi di virtualizzazione. Le virtualizzazioni totali simulano un ambiente hardware completo per utilizzarlo in ambienti OS non modificati (Bochs); la paravirtualization introduce API specializzate che richiedono modifiche dell’OS (Xen); e la virtualizzazione nativa, con cui la simulazione hardware parziale supporta ambienti guest isolati (VMware). Ci sono inoltre virtualizzazioni a livello OS, applicazioni virtualizzate, e persino teniche di virtualizzazione hardware che possono essere applicate per sottodividere ulteriormente e rendere più efficiente l’uso delle risorse esistenti su grande scala, rispetto ai semplici metodi di emulazione che possono essere supportati.