La terza via ai due approcci per il Win dentro il Mac

di |
logomacitynet696wide

Una guerra di religione tra professori e teorici dell’informatica. L’ingegneria del software a un bivio. Il mondo che per anni ha riguardato solo i grandi server delle imprese adesso bussa alla porta del consumatore. E ovviamente il Mac è in prima fila: dietro al quesito su come far girare Windows su Mac si cela una domanda molto più profonda, che disegna gli scenari della tecnologia dei prossimi anni. C’è una terza via? E’ frequentabile?

La situazione è semplice. Si potrebbe tener premuto un pulsante all’avvio del Mac e si sceglie l’opzione che si preferisce (avviare con MacOsX oppure con Windows o – anche – con Linux). Oppure, si potrebbe far partire un’applicazione all’interno di MacOsX e da lì gestire Windows, un po’ come succedeva con VirtualPc. Sembra una distinzione di poco conto, ma in realtà  il futuro si gioca tutto lì.

E’ una differenza storica, perché il primo sistema, cioè la piattaforma multi-os, permette sostanzialmente di avere un Mac e di avere un Pc al costo di un solo computer. Ma la macchina, un po’ come il Dottor Jeckill e Mr Hyde, ha due personalità  assolutamente diverse che non si incontrano mai. Quando è attivo Windows, non lo è MacOsX, quando è attivo MacOsX non lo è Windows. O Linux.

I vantaggi sono la velocità , la completezza dell’esperienza, la possibilità  di contare su un “vero” Pc, che corre al 100% delle sue possibilità . I limiti, derivano dalla interazione tra i due: inesistente, se non il fatto di poter “pescare” i file sullo stesso disco rigido. Poca cosa, per molti.

L’altra strada, conosciuta in parte come emulazione, permette di creare una box, una macchina virtuale all’interno del MacOsX – succedeva con VirtualPc e gli altri emulatori – e far funzionare là  dentro il sistema operativo ospite. Hardware simulato, e quindi esistente solo sulla carta, con specifiche “virtuali”, disco virtuale, interazione possibile tra l’ambiente che contiene e quello che è contenuto. Prezzo da pagare, anche quando si emula la stessa architettura rispetto a quella nativa, è un rallentamento delle perfomance dell’ambiente ospite.

Terza via, sei possibile? Esiste un mezzo per farcela, per riuscire a far girare “insieme” due sistemi operativi? In realtà , ne abbiamo già  parlato varie volte. E’ doveroso forse fare un po’ di chiarezza, perché la strada c’è. Si chiama “virtualizzazione”, è una cosa del tutto diversa dall’emulazione, e permette di fare due cose.

La prima virtualizzazione, diciamo “di massa”, è quella che consente di fondere macchine diverse come se fossero un unico computer e farle gestire da un solo sistema operativo. In questo, il mondo server ha una tradizione lunga che Ibm, Hp e altri attori stanno portando avanti con decisione. Permette di semplificare alla grande il lavoro con decine di server che vengono utilizzati per far compiere procedimenti complessi e in più, se la virtualizzazione permette di aggiungere componenti a caldo, rendono l’infrastruttura molto scalabile.

Lo scenario, per capirsi, è quello dei centri virtuali di housing di computer. La ditta A “compra” un server dalla ditta B, mettiamo Ibm, che lo offre come servizio on-demand, a richiesta. In pratica, la ditta A vuole un server di potenza X, Ibm si preoccupa di fare in modo che il suo centro di server virtualizzati “ritagli” un server virtuale – composto magari da 3 processori dual core situati fisicamente su due server diversi – e un disco virtuale in raid su una quindicina di dischi in rete diversi. L’amministratore remoto della ditta A “vede” con i suoi strumenti software di gestione una macchina unica, in realtà  è virtuale e composta da risorse prese da un pool di macchine nel data center di Ibm.

L’altra via alla virtualizzazione, diciamo “su misura”, è quella che sfrutta la capacità  dei processori moderni – i Core Duo per primi – di indirizzare parte della propria potenza di calcolo in maniera autonoma. Un controller ripartisce le attività  del processore tra due parti logiche diverse, ed ecco che coesistono due computer – un Mac e un Pc – all’interno dello stesso hardwar e per di più contemporaneamente.

Il vantaggio è che ciascuna macchina ha risorse hardware assegnate (per quanto minime, perché molte delle componenti oltre al processore sono uniche e per questo motivo non è possibile ad esempio usare il mouse contemporaneamente in entrambi gli ambienti, oppure il bus frontale di sistema) ma il vantaggio è che i due sistemi possono correre in parallelo senza sostanziali perdite di potenza.

L’approccio di Classic prima e di Rosetta poi, seppure tecnicamente differente – per via delle richieste specifiche diverse – era sostanzialmente di emulazione (e la stessa cosa per VMWare, in ambiente Unix-Linux, e VirtualPC), questo mondo della virtualizzazione che si apre è quello che consentirebbe di “mischiare” gli schermi video di un Mac e un Pc, avendo finestre dell’uno o dell’altro sistema operativo in contemporanea. E’ necessario, per arrivare a questo, una modifica profonda in almeno uno dei due sistemi, in modo tale che il controller sia integrato nel sistema operativo mettiamo di MacOsX e l’interfaccia consenta in maniera coerente di gestire i due sistemi nello stesso momento: scorciatoie di tastiera e gestione dei task per primi.

Ma il punto è che secondo molti la virtualizzazione dell’hardware moderno per personal computer è più che una possibilità  tecnica. E’ una risorsa strategica, il cui utilizzo consentirebbe una terza via al problema di gestire la compatibilità  del codice e il suo riuso attraverso piattaforma diverse. La strada è ancora lunga, MacOsX o Windows Vista non hanno una riga di codice pensata per questi usi, ma non è detto che nei prossimi mesi le sorprese non possano arrivare. Magari, alla Developer Conference di agosto, quando Steve Jobs svelerà  i segreti della prossima release di MacOsX, 10.5. Nome in codice: Leopard…