Linux è un kernel monolitico, la sua prima versione risale al 1991, e costituisce il nucleo dei sistemi operativi della famiglia di Linux ovvero le distribuzioni GNU/Linux. Le varie distro sono quindi generate dall'insieme del kernel del Pinguino ideato da Linus Torvalds e dai tutti i tool del sistema operativo GNU. Questo connubio ha avuto origine anche grazie al ritardo dello sviluppo di Hurd ovvero il kernel del progetto GNU. Le distribuzioni GNU/Linux sono quindi estremamente modulari ed è possibile adattarle agli usi più disparati ed è questo elemento che ne ha decretato il successo nel mondo enterprise.

Le prime versioni di Android risalgo invece al 2003 e il progetto è nato per essere utilizzato come sistema per le fotocamere compatte, solo successivamente fu riadattato per competere direttamente con i sistemi operativi mobile che dominavano il mercato dell'epoca, Symbian e Windows Mobile.

La vera svolta però arriva nel 2005 quando Google decide di acquistare Android e l'azienda che stava dietro al suo sviluppo iniziale, Android Inc, ciò per dare il via alla propria piattaforma mobile.

Android sfruttava inizialmente un fork del kernel Linux, successivamente però le modifiche apportate da Mountain View hanno ricevuto l'approvazione da parte del team del kernel Linux e le patch sono state integrate sul ramo di sviluppo principale del kernel. Ovviamente release dopo release gli sviluppatori Big G apportano delle modifiche al codice del kernel Linux, modifiche che possono anche rimanere escluse dalla versione vanilla di Linux per diversi mesi.

img007

Immagine da Sthelenspcclub1

Dunque si può dire che Android utilizza una versione modificata del kernel Linux, non adotta però l'insieme di programmi e librerie GNU a corredo del progetto. Android sfrutta ad esempio la propria implementazione delle librerie C chiamata Bionic, mentre la maggioranza delle distribuzioni Linux usa la GNU C library. Inoltre l'Hardware Abstraction Layer, l'userspace e il Desktop Environment sono sviluppati a mantenuti da Google stessa.

In conclusione si può dire che Android e Linux hanno parecchio in comune. E' possibile definire Android come una distribuzione Linux (ma non GNU/Linux) ma è anche vero che il team di Android ha implementato diverso codice dedicato alla gestione della rete cellulare e all'architettura ARM in generale.

Tali patch spesso non sono reperibili sulle normali distribuzioni perché si tratta di due progetti con target molto diversi. Infatti le distribuzioni tradizionali puntano principalmente al segmento Server/Desktop mentre Android punta al mercato mobile ed è maggioramene ottimizzato per smartphone, tablet e altri device simili. Tali differenze sono osservabili anche nelle varianti più recenti, come per esempio quelle dedicate all'automotive, all'IoT e ai device indossabili

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *