La continua lotta tra il Linux kernel e Google Android

Google sta lavorando perché Linux kernel e Android possano lavorare insieme

Linux kernel e Google Android continuano la loro relazione problematica. Google sembra intenzionata a collaborare con il team di sviluppo del Linux kernel per superare i problemi legati in particolare all’uso di WakeLocks. La situazione attuale costringe i venditori di chip, come Qualcomm e Texas Instruments, a mantenere due versioni di Linux, con e senza WakeLocks.

Il Linux kernel e Android: continuano i problemi

Si potrebbe obiettare che Google Android, ora così popolare sugli smartphone, è il Linux più popolare di tutti in questo momento. C’è solo un piccolo problema: Google Android ha continuato ad essere fuori del mainstream di Linux.

Si è capita la rottura tra Android e Linux quando Ryan Paul ha riferito che “l’ingegnere di Google Patrick Brady ha dichiarato senza ambiguità che Android non è Linux.”

Brady ha un po’ esagerato, perché in realtà Android è Linux. Per essere precisi, la versione 2.2, Froyo, corre sopra il kernel 2.6.32 di Linux. Per citare dalla pagina dello sviluppatore di Android, Dalvik, l’interfaccia basata su Java di Google Android utilizza il kernel “Linux per le funzionalità di base come il threading e la gestione della memoria a basso livello”. In pratica, senza Linux, non c’è Android.

Ma, Google Android ha una propria direzione, una direzione che non è compatibile con il kernel ufficiale di Linux. Come Greg Kroah-Hartman, capo del Linux Driver Project e ingegnere della Novell, ha scritto in “Android e la comunità kernel di Linux”, “Il codice del kernel di Android è molto più degli strani driver che erano in drivers / staging / androidsubdirectory nel kernel. Al fine di ottenere un sistema funzionante Android, è necessario un nuovo tipo di blocco, come nel sistema principale per il loro modello di sicurezza. Per scrivere un driver per hardware che lavori su Android, è necessario integrarlo adeguatamente in questo nuovo modo, così come a volte il modello di sicurezza”. Come si può immaginare, non è andato bene nei circoli Android.

Questo disaccordo deriva da almeno due punti. Uno era che gli sviluppatori di Google Android avevano preso la propria strada per affrontare i problemi di alimentazione con WakeLocks. L’altra causa, come ha detto il manager di open source di Google Engineering Chris DiBona, era che i programmatori Android stavano lavorando così tanto su specifici dispositivi Android che avevano fatto un pessimo lavoro di co-coordinamento con gli sviluppatori del kernel di Linux.

WakeLocks: l’ago della bilancia tra Linux kernel e Android

Google ha cercato di fare la cosa giusta assumendo due nuovi sviluppatori Android per lavorare più a stretto contatto con il team di sviluppo del kernel Linux, per mettere Android in sincronia con Linux kernel. A quel tempo, sembrava che Google e Android sarebbero rapidamente tornare alla stessa pagina. Ma così non è stato.

Il vero problema è che Google Android ha avuto tanto successo, e che ha ispirato molti produttori di hardware a scrivere driver di periferica per Android. WakeLocks chiede i driver di periferica e la cosa diventa problematica quando si desidera inviare il codice a monte. La questione è che questo obbliga i venditori di chip, come Qualcomm e Texas Instruments, a mantenere due versioni di Linux, con e senza WakeLocks. Naturalmente, queste aziende non sono soddisfatte di dover fare lavoro extra.

Chris Mason, direttore di Oracle per l’ingegneria Linux kernel, ha aggiunto che questo tipo di conflitto non è nuovo. Mentre James Bottomley, ingegnere a Novell e maintainer del kernel di Linux, ha aggiunto che far funzionare Android in modo regolare con il resto di Linux richiderà un sacco di sforzo, ma ne sarà valsa la pena per la comunità”.

4 Comments

  1. Emanuele 17 settembre 2010
  2. Emanuele 17 settembre 2010
  3. Maurizio S. 17 settembre 2010
  4. Rossella De Marchi 17 settembre 2010

Leave a Reply