Android, memoria e task killer: facciamo chiarezza

Android, memoria e task killer: facciamo chiarezza

Il sistema operativo di Google dedicato al mondo mobile gestisce la memoria di sistema a suo modo: spesso, questo, porta ad una incomprensione da parte dell'utente finale che si trova, così a terminare manualmente tutti i processi. Ma quanto questa operazione può avere senso? Nel corso di questo articolo proveremo a dare una risposta

di Gabriele Burgazzi pubblicato il 10 Aprile 2012 nel canale Telefonia
 

Android e i principi di funzionamento

Nel corso di questo articolo andremo ad occuparci di Android, il sistema operativo mobile di Google, e dei principi di funzionamento che stanno dietro a tale soluzione. In particolare ci soffermeremo sulla gestione della memoria di sistema, andando ad analizzare, oltre ai principi di funzionamento anche le implicazioni dirette sulle prestazioni del sistema, cercando così di andare a capire quando i tanti noti task killer possano risultare davvero utili, o meno.

Prima di procedere è però necessario fare qualche importante precisazione circa Android. Il sistema operativo di Google è una soluzione ottimizzata per dispositivi mobile, basata su Linux. Sviluppato dalla Open Handset Alliance, il progetto è gestito direttamente da Google. Il codice di Android è open-source, sotto la licenza Apache.

Android è formato da un kernel basato su quello Linux, con middleware, librerie e API scritte in linguaggio C e applicazioni che vengono eseguite in appositi framework che includono librerie compatibili con Java. Android fa utilizzo, inoltre, di virtual machine Dalvik per le compilazioni just-in-time.

Il Kernel di Android, nonostante di base sia quello Linux, presenta qualche modifica rispetto alla versione originale, apportata direttamente da Google. L'assenza di un window system, così come il mancato supporto di tutte le librerie standard GNU, rende impossibile il porting di applicazioni già esistenti in ambiente Linux.

Le applicazioni per Android sono solitamente sviluppate in linguaggio Java, attraverso l'Android Software development kit, nonostante siano presenti anche altri applicativi per creare app in C o C++. Le applicazioni di Android, inoltre, operano all'interno di un sandbox, un'area isolata del sistema operativo che non ha accesso al resto delle risorse di sistema, a meno che i permessi non siano garantiti dall'utente quando l'applicazione è installata. Play Store, prima dell'installazione di una nuova app mostra all'utente tutti i permessi necessari, e solo dopo sarà avviata la procedura. Ecco perchè alcune particolari applicazioni, che permettono di andare a modificare elementi strutturali del sistema operativo, richiedono i permessi root, che non vengono forniti di default all'utente normale ma che, attraverso determinati passaggi, è possibile ottenere.


Lo schema a blocchi dell'architettura di Android

Le piattaforme hardware per cui Android è ottimizzato sono quelle basate su architettura ARM, anche se nel corso degli ultimi anni è stato portato avanti un importante lavoro di porting di Android per soluzioni x86, promosso soprattutto da Intel. L'ottimizzazione del sistema operativo per dispositivi mobile, come smartphone e tablet, ha ovviamente guardato nella direzione di piattaforme capaci di garantire consumi particolarmente ridotti, caratteristica chiave, appunto, delle soluzioni basate su architettura ARM.

Fatte queste doverose premesse, contestualizzato Android e analizzati alcuni degli elementi chiave, possiamo procedere oltre, andando ad occuparci della memoria e di come questa viene utilizzata dal sistema operativo in questione.

 
Offerte su volantino