Il sistema operativo Android fa già uso della virtualizzazione per interfacciarsi con i processi Linux: ricordiamo, infatti, che il kernel del robottino verde si basa proprio su GNU/Linux. Google annuncia, tuttavia, che su alcuni dispositivi Android 14 selezionati diventa disponibile Android Virtualization Framework (AVF), una soluzione che di fatto abilita e rende centrale la virtualizzazione Android.
Cos’è e come funziona la virtualizzazione Android con AVF
Con AVF, il sistema operativo Google per i dispositivi mobili abbraccia un modo esteso e compiuto i “fondamentali” della virtualizzazione. Le macchine virtuali diventano così un componente fondamentale del sistema operativo Android con gli sviluppatori che hanno finalmente la possibilità di scegliere, in modo flessibile, il livello di isolamento del loro codice:
- Isolamento unidirezionale. L’host Android può controllare e ispezionare i contenuti della macchina virtuale. Si tratta di un approccio particolarmente utile per le attività di sandboxing e per la separazione dei flussi di lavoro. In questo modo è addirittura possibile eseguire più istanze del sistema operativo o più sistemi operativi diversi sul medesimo dispositivo. Android, ovvero la piattaforma ospitante, si occupa di controllare e supervisionare il funzionamento di tutti gli altri.
- Isolamento bidirezionale (VM isolata). In questo caso, l’host Android e la macchina virtuale guest sono completamente isolati l’uno rispetto all’altra. Gli sviluppatori che gestiscono o archiviano dati riservati possono beneficiare di una macchina virtuale isolata per creare un’efficace barriera. Né il dispositivo Android ospitante né la macchina virtuale hanno accesso ai rispetivi file system e alle risorse rispettivamente utilizzate.
I principali vantaggi di AVF su Android 14 e versioni successive
Approntando una macchina virtuale isolata, gli sviluppatori Android hanno finalmente a disposizione un’alternativa a Trustzone per separare le loro applicazioni senza la necessità di ricorrere necessariamente all’utilizzo di privilegi elevati.
Le macchine virtuali e le applicazioni in esecuzione al loro interno, risultano portabili e consentendo una distribuzione su più dispositivi senza restrizioni. AVF, inoltre, è progettato per essere leggero, efficiente e flessibile: le macchine virtuali possono avere dimensioni variabili, essere persistenti (quindi conservare anche i dati via via memorizzati) o attivabili su richiesta. Possono inoltre adattare automaticamente il loro funzionamento allo stato del dispositivo Android (evitando di impegnare troppe risorse di sistema).
I tecnici Google spiegano che l’hypervisor pKVM, cuore di AVF, garantisce l’isolamento tra le macchine virtuali. Inoltre, ha una superficie di attacco più ridotta rispetto al kernel Linux.
In conclusione, con Android 14 AVF rende la virtualizzazione più accessibile, offrendo nuovi strumenti e miglioramenti in termini di performance e sicurezza. È uno strumento che nel prossimo futuro rivestirà un ruolo essenziale per gli sviluppatori e i creatori di piattaforme Android, fornendo un’alternativa per isolare carichi di lavoro e applicazioni in modo più efficace ed efficiente.
L’immagine in apertura è tratta da Android Developers Blog.