Android - OS.
Android.
Chi di noi non ha sentito parlare del famoso sistema operativo: Android, direi un po tutti noi, da chi ha un qualsiasi dipositivoportatile, a chi magari lo usa per lavoro su computer sia portatili che fissi, ma vediamo di ripercorrere la sua storia, e, di
capire da chi gli ha fornito i natali.
Android è un sistema operativo per dispositivi mobili organizzato in un'architettura software che include un sistema operativo di base, i middleware per le comunicazioni e le applicazioni di base.
Descrizione.
Android si caratterizza per la struttura open source (escluse alcune versioni intermedie), e il suo basarsi su kernel Linux. La caratteristica open source ed il tipo di licenza (Licenza Apache) permette di modificare e distribuire liberamente il codice sorgente. Inoltre, Android dispone di una vasta comunità di sviluppatori che realizzano applicazioni con l'obiettivo di aumentare le funzionalità dei dispositivi. Queste applicazioni sono scritte soprattutto con una versione modificata del linguaggio di programmazione Java.
Nell'ottobre 2012 le applicazioni disponibili presenti sul market ufficiale Android (Google Play) hanno raggiunto le 700.000 unità. Questi fattori hanno permesso ad Android di diventare il sistema operativo più utilizzato in ambito mobile, oltre a rappresentare, per le aziende produttrici, la migliore scelta in termini di bassi costi, personalizzazione e leggerezza del sistema operativo stesso, senza dover scrivere un proprio sistema operativo da zero.
Android Open Source Project.
Il progetto Open Source Android è guidato da Google, e con il compito di mantenimento e allo sviluppo di Android. Secondo il progetto "l'obiettivo è quello di creare un vero e proprio successo, in modo da migliorare l'esperienza mobile per gli utenti" AOSP mantiene anche la compatibilità Android programmi, la definizione di un dispositivo "Android compatibile", come quella che possibile eseguire qualsiasi applicazione scritta da sviluppatori di terze parti che utilizzano il Android SDK e NDK. ", per prevenire incompatibili implementazioni Android.Il programma di compatibilità è facoltativo e gratuitamente, con la suite di test di compatibilità anche gratuito e open-source.
Il kernel Linux.
Android è costituito da un Kernel basato sul kernel Linux 2.6 e 3.x (da Android 4.0 in poi), con middleware, Librerie e API scritte in C (o C++) e software in esecuzione su un framework di applicazioni che include librerie Java compatibili con librerie basate su Apache Harmony. Android utilizza la Dalvik virtual machine con un compilatore just-in-time per l'esecuzione di Dalvik dex-code (Dalvik Executable), che di solito viene tradotto da codice bytecode Java.La piattaforma hardware principale di Android è l'architettura ARM. L'architettura x86 è supportata grazie al progetto Android x86 e Google TV utilizza una speciale versione x86 di Android.
Il kernel Linux di Android mette a disposizione modifiche all'architettura create da Google al di fuori del ciclo di sviluppo del kernel. Un tipico sistema Android non possiede un X Window System nativo, né supporta il set completo standard di librerie GNU, e nel caso del C++ vi è solo una implementazione parziale delle STL. Tutto ciò rende difficile il porting di applicazioni Linux o librerie per Android.Per semplificare lo sviluppo di applicazioni C/C++ sotto Android si usa SDL che tramite un piccolo Wrapper java permette l'utilizzo della JNI dando un'idea di utilizzo simile a un'applicazione nativa in C/C++.
Le applicazioni Android sono Java-based; in effetti le applicazioni scritte in codice nativo in C/C++ devono essere richiamate dal codice java, tutte le chiamate a sistema fatte in C (o C++) devono chiamare codice virtual machine Java di Android: infatti l'API multimediale SDL sotto Android richiama metodi di Java, questo significa che il codice dell'applicazione C/C++ deve essere inserito all'interno di un progetto Java, il quale produce alla fine un pacchetto Android (APK).
Alcune funzionalità implementate da Google hanno contribuito al kernel Linux, in particolare una funzione di gestione dell'energia denominata wakelocks, che però è stata respinta dagli sviluppatori del kernel mainline, in parte perché gli sviluppatori del kernel hanno ritenuto che Google non manifestasse alcuna intenzione di mantenere il proprio codice.Anche se Google ha annunciato nel mese di aprile 2010 che avrebbero assunto due dipendenti per lavorare con la comunità del kernel Linux,Greg Kroah-Hartman, l'attuale responsabile del kernel di Linux per il ramo stabile, ha dichiarato nel dicembre 2010 che era preoccupato del fatto che Google non sembrava più intenzionata a far includere le modifiche al codice nel ramo principale di Linux. Alcuni sviluppatori di Google Android hanno fatto capire che "il team di Android si è stancato del processo", perché erano una piccola squadra e avevano molto lavoro urgente da fare su Android.
In Linux è stato incluso l'autosleep e le capacità wakelocks nel kernel 3.5, dopo molti precedenti tentativi di fusione. Le interfacce sono le stesse ma la realizzazione di Linux ha due diverse modalità di sospensione: a memoria (le sospensione tradizionale che utilizza Android), e su disco (ibernazione, come è noto sul desktop).Nel mese di agosto 2011, Linus Torvalds ha detto che "alla fine Android e Linux sarebbero venuti di nuovo ad un nucleo comune, ma probabilmente non sarà per quattro o cinque anni".Nel mese di dicembre 2011, Kroah-Hartman ha annunciato l'inizio del progetto mainlining Android, che mira a mettere un po' di Android driver, le patch e le caratteristiche, nel kernel di Linux a partire da Linux 3.3.
La memoria flash sui dispositivi Android è divisa in diverse partizioni, ad esempio "/system" per il sistema operativo stesso e "/dati" per i dati utente e le installazioni delle app. Diversamente rispetto alle distribuzioni desktop di Linux, ai proprietari di dispositivi Android non sono dati i privilegi di superutente (root) per l'accesso al sistema operativo per motivi di sicurezza e per le partizioni sensibili quali "/system" l'utente dispone dei permessi di sola lettura. Tuttavia, l'accesso come root sul dispositivo può essere ottenuto sfruttando le falle di sicurezza di Android e viene utilizzato frequentemente dalla comunità open source per migliorare le capacità dei loro dispositivi, ma anche da soggetti malintenzionati per installare virus e malware.
Altre caratteristiche.
L'interfaccia utente di Android è basata sul concetto di direct manipulation per cui si utilizzano gli ingressi mono e multi-touch come strisciate, tocchi e pizzichi sullo schermo per manipolare gli oggetti visibili sullo stesso.La risposta all'input dell'utente è stata progettata per essere immediata e fornisce un'interfaccia fluida. Sensori hardware interno come accelerometri, giroscopi e sensori di prossimità sono utilizzati da alcune applicazioni per rispondere alle azioni da parte dell'utente, ad esempio la regolazione dello schermo da verticale a orizzontale a seconda di come il dispositivo è orientato o che consentono all'utente di guidare un veicolo in una corsa virtuale ruotando il dispositivo, simulando il controllo di un volante.
La cosiddetta Homescreen è simile al desktop trovato su Windows ed è la schermata principale che ci si trova appena il device è stato avviato, oppure premendo il tasto Home. L’homescreen di Android è in genere occupata sia dalle icone delle applicazioni che dai widget cioè delle sorti di gadgets con varie funzioni; ci sono widget che mostrano vari stili di orologi, quelli che mostrano gli ultimi video di YouTube, altri che visualizzano informazioni meteo, quelli relativi alle email.La homescreen può essere costituita da più pagine tra cui l'utente può scorrere avanti e indietro.
Sempre presente nella parte superiore dello schermo si trova una barra di stato, che mostra le informazioni sul dispositivo e la sua connettività. Trascinando la barra di stato verso il basso compare una schermata di notifica in cui le applicazioni possono visualizzare notifiche relative ad informazioni importanti o aggiornamenti come ad esempio una e-mail appena ricevuta o un SMS, in modo da non interrompere immediatamente l'utente.Nelle prime versioni di Android tali notifiche potevano essere sfruttate esclusivamente per aprire l'applicazione in questione, ma gli aggiornamenti più recenti hanno fornito maggiori funzionalità, come ad esempio la possibilità di chiamare un numero direttamente dalla notifica della chiamata persa, senza dover aprire l'applicazione telefono.Le notifiche sono persistenti fino alla loro lettura o cancellazione da parte dell'utente.
La piattaforma usa il database SQLite, la libreria dedicata SGL per la grafica bidimensionale (invece del classico server X delle altre distribuzioni linux) e supporta lo standard OpenGL ES 2.0 per la grafica tridimensionale.Le applicazioni vengono eseguite tramite la Dalvik virtual machine, una macchina virtuale adattata per l'uso su dispositivi mobili.
Android è stato progettato principalmente per smartphone e tablet, ma il carattere aperto e personalizzabile del sistema operativo permette che sia utilizzato anche su altri dispositivi elettronici tra cui portatili e netbook, smartbook,eBook reader, fotocamere e smart TV (Google TV). Il mercato delle "smart things" è cresciuto in maniera notevole in questi ultimi periodi a tal punto da stimolare la creativitá delle persone. Un esempio è lo Smartwatch dotato di sistema operativo Android in versione "light", cuffie, lettori auto CD e DVD,occhiali intelligenti (Project Glass o google glass), frigoriferi, sistemi di navigazione satellitare per veicoli, sistemi di automazione per la casa, console di gioco, specchi,telecamere, lettori MP3/MP4 e tapis roulant.
Il logo di Android è stato progettato insieme con la famiglia di caratteri (font) Droid di Ascender Corporation, il verde è il colore del robot che rappresenta il sistema operativo Android. Il colore di stampa è PMS 376C e il colore RGB in valore esadecimale è # A4C639, come specificato dalle linee guida del Marchio di Android Il carattere personalizzato di Android si chiama Norad. Viene utilizzato solo nel logo di testo.
Commenti
Posta un commento
Ciao a tutti voi, sono a chiedervi se avete preferenze per Post di vostro interesse
in modo da dare a tutti voi che mi seguite un aiuto maggiore, grazie per la vostra disponibilità.