# Sistema operativo per dispositivi mobili

Un sistema operativo per dispositivi mobili (in inglese mobile OS), in informatica, è un sistema operativo progettato per l'utilizzo su un dispositivo mobile cellulare.

## Storia

I sistemi operativi per dispositivi mobili (quali smartphone e tablet) hanno subito molti cambiamenti a seconda delle esigenze che dovevano coprire, le quali sono state più o meno stimolate da alcuni produttori e che ha portato ad una stimolazione del mercato, il quale ha visto il cambio di paradigma dei sistemi operativi e del loro utilizzo principale.

### 2000-2007: i primi smartphone a struttura classica

In questo periodo il mercato dei sistemi operativi per dispositivi mobili è in uno stato embrionale; la funzione "telefono" è il cuore attorno al quale si costruiscono le funzionalità del sistema operativo. Oppure si è partiti da funzionalità da agenda elettronica (quali calendario, rubrica e appunti), per poi aggiungere la gestione telefonica.
Questa fase è gestita da produttori storici quali Nokia con Symbian, Microsoft con Windows CE ed il nuovo produttore RIM con i Blackberry, che presentano sistemi operativi con funzioni molto integrate con il sistema ed il terminale e quindi capaci di funzioni che ne permettono un'accurata gestione hardware.

### 2007-2014: "app-centrismo"

Sono gli anni in cui cominciano a muovere le pedine due nuovi protagonisti: Google ed Apple. La funzione "telefono" diventa marginale. Il nuovo cuore è "l'applicazione" e l'accesso internet. Gli accenti si spostano sulla figura dello "sviluppatore" e con Apple ed il rivale Google, il paradigma dell'Application Store/Market, già presente da anni su sistemi Linux per computer desktop, viene portato anche sui dispositivi mobili.
In questa fase si propongono diversi competitori, mentre quelli storici cambiano la struttura e impronta dei loro sistemi per riadattarsi al nuovo paradigma, questo ha portato ad una varietà maggiore del mercato, che poi ha visto anche la scomparsa o fusione dei vari sistemi/progetti.
Questa fase è caratterizzata da sistemi operativi che rispetto alla generazione precedente hanno meno funzioni integrate e minor gestione dell'hardware, non consentendo più alcuni automatismi (per esempio accensione e spegnimento del dispositivo ad orario o all'attivazione della sveglia a terminale spento), ma che hanno visto integrare sempre più funzioni nuove per migliorare l'interoperabilità con altri e nuovi dispositivi.

### 2015-oggi: unificazione

Nel secondo decennio del terzo millennio ha visto un'unificazione del sistema operativo per i vari dispositivi, quindi viene non solo utilizzato per smartphone, ma anche per altri dispositivi, dopo essere stato adeguatamente rivisto e adattato, questa unificazione può essere più o meno importante, nel caso di Android e iOS (quest'ultimo non va incontro alla convergenza, ma alla continuità dell'esperienza), questa unificazione è limitata a dispositivi simili agli smartphone o con poche funzionalità, quale i lettori multimediali, ecc, con progetti isolati di unificazione con piattaforme fisse come Android-x86 che riadatta il sistema, oppure altri progetti (Maru OS) che permettono d'avere una soluzione simile al sistema Continuum di Microsoft o alcune personalizzazioni Android di alcuni costruttori come il sistema "Samsung DEX" o Huawei con la sua EMUI 8 in modalità desktop. Per quanto riguarda il Samsung DEX, questo ha visto un aggiornamento nel 2020, dove nel caso venga connesso ad un PC, permette allo smartphone di prendere possesso dell'hardware del PC stesso ed usare le periferiche ad esso connesse.
Mentre altri casi hanno visto tentativi per unificare l'ambiente desktop e smartphone creando un sistema capace di adattare l'interfaccia grafica in base al dispositivo, alcuni tentativi non sono andati a buon fine come il caso di Ubuntu Touch, mentre Windows 10 ha rappresentato un primo passo concreto e adeguatamente supportato di unificazione tra i due ambienti, oltre ad avere introdotto la possibilità di utilizzare lo smartphone come un PC collegandolo ad un monitor.
Alcuni produttori hardware hanno presentato dei progetti capaci di adattarsi, dove lo smartphone era l'unità centrale di elaborazione, che a seconda delle esigenze poteva essere posta in gusci/schermi/telai che ne estendevano le caratteristiche, come schermo più grande (in modo da usarlo come tablet computer), schermi con tastiere (in modo da usarlo come portatile), utilizzando sempre e solo l'unico sistema operativo dello smartphone (come nel caso del PadFone di ASUS o il Project Linda di Razer) o in alternativa dando la possibilità di usare un sistema operativo tradizionale (come nel caso di Asus Transformer Book V).

## Descrizione generale

Il principio è lo stesso con il quale altri sistemi, come macOS, Unix, Linux o Windows, controllano un desktop computer oppure un laptop; tuttavia vi sono dei limiti legati alla natura del dispositivo mobile, più critiche rispetto ad un desktop o un laptop; tra le tante: la limitatezza delle risorse (memoria, CPU), l'assenza di alimentazione esterna, differenti tecnologie per l'accesso a Internet (Wi-Fi, GPRS, HSDPA...), nuovi metodi d'immissione (touch screen, minitastiere), ridotte dimensioni del display.
Un dibattito abbastanza acceso nella comunità web e dei fanboy è la migliore gestione di risorse di un sistema rispetto ad un altro, in particolar modo tra iOS e Android, nel 2017 androidauthority.com effettua una comparazione tra questi due sistemi su dispositivi paragonabili tra loro, soprattutto per il quantitativo di ram, la quale è stata il centro delle analisi, dal confronto si è evidenziato come il sistema operativo Android richieda leggermente meno risorse rispetto ad iOS, mentre per quanto riguarda le app versa una situazione di parità con alcune app che impegnano più risorse su Android e altre su iOS, la vera differenza rimane la gestione delle app in secondo piano (background), dove iOS presenta il vantaggio di ridurre drasticamente le dimensioni dello spazio occupato nella RAM man mano che questa viene occupata, arrivando solo in alcuni casi a terminare l'app, mentre in caso di app eseguite contemporaneamente a schermo non si presentano differenze.

## Sicurezza

Come per qualsiasi altro sistema operativo per personal computer i vari sistemi operativi per dispositivi mobili sono esposti a vari rischi informatici, sia di natura software che hardware, con conseguenze più o meno gravi a seconda dello stesso.

### Prevenzione

I vari produttori nel corso degli anni hanno provveduto a rendere i loro sistemi operativi più sicuri, in alcuni casi anche con hardware specifici e controllando ed eliminando i vari programmi dallo store ufficiale.

### Crittografia

Con questo processo si cerca di rendere illeggibili i dati da utenti non autorizzati e proteggendo dati sensibili da malintenzionati, come contro anche gli organi di sicurezza come nel caso dell'FBI possono essere in difficoltà nel reperire eventuali prove o indizi dai dispositivi utilizzati nei vari reati da parte dei vari malviventi.

## Aspetti legali

Qualora sia necessario accedere ad un dispositivo per le indagini legali, tramite un mandato i vari produttori sbloccano il dispositivo permettendone l'accesso ai file ivi contenuti, nel caso della strage di San Bernardino del dicembre 2015 dove l'FBI aveva chiesto alla Apple un software per accedere ai vari iPhone, come il modello 5C posseduto dal terrorista, richiesta respinta dalla casa madre e che ha costretto le autorità ad affidarsi a ditte esterne, le quali ora sono in grado di sbloccare una vasta gamma di dispositivi della Apple e con varie versioni del sistema operativo.
Altri casi hanno invece visto una maggiore collaborazione tra l'azienda e le forze dell'ordine, come la consegna della chiave condivisa, che permetteva di accedere ai servizi al consumatore, ma non a quelli d'affari (business).
Lo sblocco di un terminale e l'accesso alle informazioni ivi contenute può essere eseguito in vari modi, in alcuni casi anche piuttosto economici, come dimostrato dall'università dell'Università di Cambridge e dal ricercatore Sergei Skorobogatov e la sua tecnica di NAND mirroring.

## Comparazione

| | iOS | Android | HarmonyOS | Windows 10 Mobile | BlackBerry OS | Openmoko | Tizen | Ubuntu Touch |
| Azienda | Apple | Google | Huawei | Microsoft | RIM | Openmoko Inc. | MeeGo, LiMo Foundation | Canonical |
| Versione corrente | 16.5 | 12.0 | 2.0 | 10.0.15254.489 | 10.3.3.2205 | Om 2009 | 3.0 | 16.04 OTA-9 |
| Famiglia di sistemi operativi | macOS Unix-like | Linux | Linux | Windows NT | Mobile OS | Linux | Linux | Linux |
| Architettura CPU supportata | ARM | ARM, MIPS, Architettura Power, x86 | ARM, MIPS, Architettura Power, x86 | ARM | ARM | ARM | ARM | ARM, x86, AMD64, ARM64 |
| Linguaggio di programmazione | C, C++, Objective C, Swift | C, C++, Java | n.d. | C#, C++ | Java | n.d. | n.d. | HTML5, QML, C, C++, GO, JavaScript |
| Store di applicazioni | App Store | Google Play (stock) Samsung Galaxy Store (Samsung) | Huawei Store | Microsoft Store | BlackBerry World Amazon Appstore | n.d. | Tizen Store | App Scope |
| Sincronizzazione e gestione dispositivo | iTunes | APK | n.d. | App di Windows Phone per PC/App di Windows Phone per Mac | BlackBerry Blend, BlackBerry Link (per dispositivi con BlackBerry OS 10 o superiore) BlackBerry Desktop Software (Per dispositivi con BlackBerry OS 7.1 o superiore) | opkg | n.d. | apt-get + dpkg, click, snappy |
| Proxy server | Sì | Sì | n.d. | Sì | Sì | n.d. | n.d. | n.d. |
| Motore browser di default | Safari | Google Chrome o App Google (stock) Samsung Internet Browser (Samsung) | Huawei Browser | Microsoft Edge | WebKit | Port di WebKit per Enlightenment | WebKit | Oxide (Blink/Chrome webview customizato per Ubuntu) |