Site icon Matti di Web

L’architettura del sistema operativo Android

android sul tavolo architettura android

L’architettura di Android è formata da svariati livelli, dove quelli inferiori offrono servizi ai livelli superiori offrendo un alto grado di astrazione.

Architettura di Android.

Kernel di Linux in Android

Il livello alla base dell’architettura di Android rappresenta il kernel di Linux nella versione 2.6. Android pertanto si appoggia a Linux per i servizi del sistema centrale come sicurezza, gestione della memoria, esecuzione, network stack, e driver model.

Il kernel funziona anche da abstraction layer tra l’hardware e il resto del software, inoltre ci sono driver per la gestione delle periferiche multimediali, del display, della connessione Wi-Fi e dell’alimentazione.

È stato deciso di utilizzare il kernel di Linux in quanto vi era la necessità di avere un sistema operativo mobile che fornisse tutte le feature di sicurezza, gestione della memoria, gestione dei processi, power management e che fosse quindi molto affidabile e ampliamente testato.

Di conseguenza il venditore che vuole utilizzare Android sui propri dispositivi, non dovrà fare altro che installare il kernel di Linux implementando i driver per il proprio hardware.

Librerie native di Android

Android comprende un set di librerie native realizzate in C e C++, le quali rappresentano il core vero di Android e si trovano sopra al livello costituito dal kernel di Linux. Tra le principali librerie abbiamo:

L’Open GL ES consiste in un insieme di API multipiattaforma che forniscono l’accesso a funzionalità 2D e 3D in dispositivi embedded.

Il suo punto di forza è quello di fornire un insieme di API semplici per ciascun tipo di font in modo indipendente dal formato del corrispondente file.

Core library di Android

L’esecuzione di un’applicazione in Android è simile a quanto accade in ambiente Java, con la differenza che in fase di compilazione serve necessariamente il file jar (di nome android.jar) per la creazione del bytecode Java, mentre in esecuzione il device mette a disposizione la versione dex del runtime che costituisce la core library. Il codice dex viene ovviamente eseguito dalla DVM.

Application Framework di Android

Salendo di livello abbiamo l’Application Framework, il quale consiste in un insieme di API e componenti inerenti l’esecuzione di funzionalità ben precise e di fondamentale importanza in ciascuna applicazione Android.

Tutte le librerie descritte finora vengono utilizzate in questo livello da un insieme di componenti che formano l’Application Framework:

Exit mobile version