Questa settimana, complice la presentazione di Nexus 7², abbiamo dato un ampio spazio ad Android 4.3. Eppure, Google mantiene anche un altro sistema operativo: Chrome OS, che da mercoledì è installato pure su Chromecast. Quali sono le differenze tra i due? La risposta non è tanto semplice, considerando che entrambi utilizzano lo stesso kernel – ovvero, il “nocciolo” – e supportano le architetture x86 o ARM a 32-bit. Poiché Linux è modulare, Android e Chrome OS attivano i moduli più adatti al singolo dispositivo d’installazione.

Questi moduli – che servono per implementare i driver dei componenti o delle periferiche, i file system, ecc. – possono essere gli stessi, però Android richiede degli elementi aggiuntivi che Chrome OS non prevede. Sono quelli che riguardano il supporto delle reti mobili, ad esempio. La sicurezza, invece, a partire dalla versione 4.3 appena rilasciata è gestita dalla stessa infrastruttura su entrambi: SELinux protegge sia Android, sia Chrome OS. Perché i due sistemi operativi eseguono applicazioni differenti, con queste premesse?

In realtà, le applicazioni web possono essere eseguite indipendentemente dal sistema e Android consente addirittura d’integrarle in quelle “native” con WebView. La grande differenza con Chrome OS riguarda Dalvik VM: una macchina virtuale che permette ad Android d’avviare le applicazioni in Java ed è assente dai Chromebook — che, però, supportano le app in C e C++ col Native Client (NaCl) del browser. Insomma, escludendo i driver e i firmware dei dispositivi, a differenziare i sistemi operativi è la Virtual Machine (VM) di Java.

Potrei dilungarmi sul fatto che Android adotta un altro framework per l’audio, mentre Chrome OS è tecnicamente un fork di Gentoo — una popolare distribuzione di Linux… ma, per rendere l’idea, basterebbe immaginare un mosaico che permetta di sostituire le tessere per creare un disegno differente. Se Google aggiungesse Dalvik VM a Chrome OS, potremmo installare sui Chromebook le applicazioni di Android. Non mi sento d’escludere a priori che, un domani, ciò possa avvenire davvero. Quindi, perché scegliere Chrome OS per Chromecast?

È un banalissimo problema di RAM. Dalvik VM, essendo una macchina virtuale per Java, richiede un minimo di 512Mb: Chrome OS non è obbligato a installare la Java Virtual Machine (JVM) e può funzionare tranquillamente a capacità di memoria inferiori. Android ha pure un’interfaccia grafica differente, ma è una caratteristica – se mi permettete la citazione – «sovrastrutturale». La nuova grafica del Play Store conferma che il layout del sistema operativo dei Chromebook potrebbe essere identico, qualora scritto in HTML5 e JavaScript.

Concludendo, Android e Chrome OS sono due sistemi operativi pressoché identici che basano il proprio funzionamento su due componenti diversi: uno su Dalvik VM, uno sugli strumenti di sviluppo realizzati per Chrome — il browser di Google, che è presente su entrambi. Android richiede generalmente delle maggiori risorse, ma condivide con l’altro sistema il kernel e l’infrastruttura per la sicurezza. Quale scegliere, tra i due? Dipende molto dalle specifiche del singolo device, più che dal form factor oppure dagli scopi d’utilizzo.

Photo Credit: Anthony Alvernaz via Compfight (CC)