Seleziona Pagina

Sistemi Operativi per dispositivi mobili

Sistemi Operativi per dispositivi mobili

Il sistema operativo è costituito da un insieme di componenti software che hanno il compito di tradurre il funzionamento logico del calcolatore in una serie di comandi direttamente interpretabili dalle parti fisiche (processore, memoria, periferiche). Quindi il sistema operativo rappresenta l’anima di ogni strumento dotato di capacità di elaborazione. Ad alto livello, invece, si occupa di gestire la comunicazione tra il dispositivo e l’utilizzatore attraverso l’interfaccia-utente.

Una proprietà importante dei sistemi operativi moderni è data dalla possibilità di utilizzare il medesimo sistema operativo anche su dispositivi costruiti con componenti hardware differenti.

In ambito mobile, contrariamente dal mondo desktop consolidato su tre sistemi operativi (Windows, Mac OS X, Linux) e da un vasto insieme di piattaforme, vi è una notevole suddivisione di sistemi operativi, open source e proprietari, legati a una o a più piattaforme applicative. Questa ricca varietà e diversità tra i vari sistemi operativi, ha fatto sì che nessun sistema si sia affermato come standard.

Esistono attualmente quattro sistemi operativi con Application Programming Interface (o “API”, ovvero insieme di procedure disponibili al programmatore, di solito raggruppate a formare un set di strumenti specifici per un determinato compito; le API permettono di evitare ai programmatori di scrivere tutte le funzioni dal nulla) aperte:

  1. Symbian OS, sopportato principalmente da Nokia e basato su ambienti applicativi dove nello sviluppo di applicazioni si utilizza come linguaggio un dialetto del C++;
  2. Windows Mobile, realizzato da Microsoft e utilizzato da produttori hardware indipendenti. I linguaggi di programmazione in questo caso possono essere più di uno: Visual Basic .NET al C#
  3. iPhone OS, realizzato e utilizzato da Apple per iPhone, iPad e iPod Touch. Per realizzare applicazioni per iPhone bisogna disporre di un sistema operativo Mac OS X,  conoscere e saper utilizzare il linguaggio Objective-C
  4. Linux, supportato da diversi gruppi di produttori. In realtà, il mondo Linux è abbastanza variegato e specializzato in diverse piattaforme tra loro incompatibili, tra cui Android (piattaforma sviluppata da Google e Open Handset Alliance  gruppo di aziende leader nel campo della tecnologia mobile, che condividono la visione, per cui una maggiore apertura dell’ecosistema mobile consentirà a tutti di innovare più rapidamente per  meglio rispondere alle esigenze dei consumatori – basata su kernel Linux e ambiente operativo costituito da un subset di Java Standard Edition e un insieme di librerie specializzate), MOTOMAGX (Motorola), OpenMoko, ALP (Access), LiMo e altri.

Vi sono poi i sistemi operativi proprietari come NokiaOS e MotorolaOS, usati dai rispettivi produttori per i terminali di fascia bassa.

In ogni progetto in ambito Mobile Computing, bisogna acquisire conoscenze sull’ambiente di sviluppo, sulla piattaforma e sul linguaggio di programmazione, il tutto a seconda del tipo di sistema operativo. Si inizia pertanto a sentire l’esigenza di una standardizzazione, e proprio verso questa direzione si stanno muovendo Google e la Open Handset Alliance attraverso la creazione e lo sviluppo di Android.

Numerosi progetti falliscono inevitabilmente perché non tengono conto di questa specificità, supponendo che basti un “po’ di abilità” a superare le limitazioni imposte dal sistema operativo o dall’ambiente di programmazione.

Photo credit: 端木月明 via Foter.com / CC BY-SA