apri/salva file

annuncio pubblicitario
http://emanueldinardo.com/wp/android-architettura-di-base/
Android – Architettura di base
di Emanuel Di Nardo 3/04/2012
Tutti noi abbiamo sentito sicuramente parlare di Android, il sistema operativo mobile che oggigiorno è
presente su una vastissima gamma di prodotti partendo da smartphone di fascia bassa/medio/alta fino
ad una gamma completa di tablet. Questo sistema è stato sviluppato dall’Open Handset Alliance
capitanata da Google, infatti, sentiremo molto più spesso dire che il distributore principale è proprio
l’azienda di Mountain View. Voglio effettuare ora una panoramica un po più generale su Android.
Concetti di base
Android è definibile come un insieme software composto da un sistema operativo, middleware e
applicazioni di base. Le applicazioni sono scritte utilizzando il linguaggio di programmazione Java e
tutte le risorse del sistema sono utilizzabili dai developer senza restrizioni.
L’architettura di Android può essere suddivisa nei seguenti livelli:
•
Applicazioni;
•
Framework delle applicazioni;
•
Librerie base;
•
Livello esecutivo;
•
Linux kernel;
Ci si può fare un idea di tale suddivisione e di cosa avvenga in ogni livello dalla seguente immagine:
Come possiamo notare il livello Applicazioni non rappresenta altro che le applicazioni che andiamo
ad utilizzare sui dispositivi. Il Framework delle applicazioni ci fornisce gli strumenti adatti allo
sviluppo delle applicazioni. Questo meccanismo rende semplice lo sviluppo e permette ai
programmatori di accedere a tutte le risorse hardware del dispositivo ed utilizzarle al meglio. E’
doveroso far notare che gli sviluppatori hanno libero accesso a queste risorse che sono le stesse
utilizzate per la creazione delle applicazioni di base del sistema, questo è un concetto molto importante
di Android, infatti, uno dei suoi punti di forza è la libertà che viene data di utilizzare le librerie di base
del sistema senza essere obbligati ad adattarsi a contesti di sviluppo non sempre chiari e di semplice
comprensione. Scendendo ancora nella gerarchia abbiamo le librerie di base, sono scritte in C/C++ e
sono accessibili tramite il livello precedente, pronte per essere usate semplicemente da tutti. Il Livello
esecutivo permette l’esecuzione delle applicazioni, include una Virtual Machine modificata per
permettere di adattarsi ai dispositivi mobili (poche risorse e [relativamente] poca potenza di calcolo),
questa VM è chiamata Dalvik Virtual Machine (DVM). L’ultimo livello è il kernel del sistema operativo.
Android è basato su kernel linux 2.6 e questo permette di sfruttare tutte le potenzialità offerte da un
sistema linux-based:
•
Gestione della memoria;
•
Sicurezza;
•
Gestione dei processi;
•
Gestione delle connessioni;
•
Driver di dispositivo;
Infine permette di astrarre l’hardware sottostante e metterlo a disposizione dell’intero sistema.
Scarica