Symbian
Introduzione
Symbian Ltd nasce nel 2002 dalla collaborazione tra Motorola, Nokia, Sony/Ericsson, Ericsson, Siemens, Panasonic e Psion per proporre un sistema operativo per palmari e cellulari: Symbian OS.
Oggi Symbian OS è il sistema operativo autorizzato dai più grandi costruttori di telefoni cellulari del mondo. E' progettato per le specifiche richieste dei cellulari di tipo 2G, 2.5G e 3G ed è già disponibile nei prodotti Ericsson, Sony-Ericsson, Nokia, NTT DoCoMo, Psion, Siemens, BenQ e Samsung.
Symbian OS è caratterizzato da:
- Telefonia mobile multimode integrata - Symbian OS integra la potenza di calcolo con la telefonia mobile, portando servizi dati avanzati al mercato di massa
- Ambiente di applicazione aperto - Symbian OS rende i cellulari piattaforme per l'esecuzione di applicazioni e servizi (programmi e contenuti) sviluppati con vari linguaggi e secondo vari formati di contenuto
- Multi-tasking - Symbian OS è basato su un'architettura micro kernel ed implementa threading e multitasking pieno. I servizi di sistema come la telefonia, il networking ed i motori delle applicazioni vengono eseguiti tutti ognuno nel proprio processo
- Struttura basata sui componenti ed orientata agli oggetti - Il sistema operativo è stato progettato avendo in mente sempre il dispositivo mobile, utilizzando avanzate tecnologie OO in modo da ottenere un'architettura flessibile
- Progettazione di interfaccia utente flessibile - Symbian OS offre una interfaccia utente grafica estremamente flessibile
- Robustezza - Symbian OS effettua accessi istantanei ai dati utenti. Si assicura così l'integrità dei dati anche in presenza di comunicazioni non affidabili e scarsità di risorse di memoria, di immagazzinamento ed energia.
Caratteristiche chiave di Symbian
Symbian OS fornisce un ricco insieme di interfacce di programmazione di applicazioni che sono comuni a tutti i telefoni cellulari basati su Symbian OS. Le caratteristiche chiave della versione 7.0 del Sistema
Operativo sono:
- Ricca collezione di motori di applicazioni - la collezione include motori per contatti, schedulazione, messaging, browsing, utility e controllo sistema; OBEX per lo scambio di oggetti come appuntamenti e business card (vCard); le API integrate per la gestione dati, testo, clipboard e grafica.
- Browsing - è fornito uno stack WAP con supporto 1.2.1 per la navigazione da cellulare
- Messaging - messagi
multimediali (MMS), messaggi avanzati (EMS) e SMS; posta internet, usando POP3,
IMAP4, SMTP e MHTML; allegati e fax;
- Multimedia - supporto in registrazione, riproduzione e streaming di video e audio; conversione di immagini
- Grafica - accesso diretto allo schermo ed alla tastiera per alte prestazioni; API di accelerazione grafica
- Protocolli di comunicazione - stack di rete come TCP/IP (in dual mode Ipv4/v6) e WAP, supporto IrDA, Bluetooth e USB; viene fornito supporto anche per capacità multihoming e layer di collegamento Quality-of-Service (QoS) su reti GPRS/UMTS
- Telefonia mobile - Symbian OS 7.0 è pronto per il mercato G3 con supporto di voce e dati commutati su circuito GSM (CSD e EDGE ECSD) e dati basasti su pacchetti (GPRS e EDGE EGPRS); voce commutata su circuito CDMA , dati e dati basati su pacchetto (IS-95, CDMA2000 1x, e WCDMA); SIM, RUIM e UICC Toolkit; possono essere implementati altri standard attraverso API espandibili
- Supporto internazionale - conforme allo standard Unicode v 3.0
- Sincronizzazione dati - supporto sincronizzazione over-the-air (OTA) usando SyncML; sincronizzazione PC su seriale, Bluetooth, infrarosso e USB; un framework di connettività PC fornisce la possibilità di trasferire file e sincronizzare dati PIM
- Sicurezza - crittazione completa e gestione dei certificati, protocolli sicuri (HTTPS, WTLS , SSL e TLS), framework WIM e installazione di applicazioni certificate
- Sviluppo per Symbian OS - C++,Java (J2ME) MIDP2.0 e Personal Java 1.1.1a (con lopzione JavaPhone 1.0) e WAP; sono disponibili tools per costruire applicazioni C++ e Java e ROM con supporto per debugging on-target
- Input utente - meccanismi di input generici che supportano tastiera, tastierino numerico dei cellulari 0-9*#, voce, riconoscimento della scrittura e precisione immissione del testo.
Architettura
Symbian
OS è formato da un insieme di sottosistemi secondo la seguente struttura.

Telefonia
Il sottosistema di telefonia fornisce una API multimode ai suoi clients. Le reti cellulari astratte includono GSM, GPRS, EDGE, CDMA e 3GPP2 cdma2000 1x (versione A) ed è pronto per il 3GPP W-CDMA, rendendo più facile per i costruttori di telefonini il port di Symbian OS da uno standard ad un altro. L'astrazione della telefonia multimode è la chiave in Symbian OS che fornisce l'integrazione col resto del sistema operativo per la creazione di servizi dati avanzati.
Funzionalità comuni a tutti i network includono:
- informazioni sul telefono e sulla rete: recupera la potenza del segnale e della batteria, fornisce accesso ai nomi di rete rilevati dal telefono, informazioni sulla rete corrente, riceve notifiche quando ci sono cambi di registrazione alla rete e recupera le informazioni di identità del telefono
- Rubrica: legge, scrive, cerca e cancella accessi alla
rubrica telefonica del cellulare e della SIM (GSM 11.11) o R-UIM(cdma2000 1x) o
UICC(W-CDMA)
- Supporta entrambe le configurazione one-box e two-box
- Sincronizzazione della rubrica: meccanismo di sincronizzazione delle voci di rubrica registrate su una SIM o R-UIM al database dei contatti in modo che i client possano accedere a tutti i dati dei contatti tramite lAPI del modello contatti
Infrastruttura di comunicazione
Il sottosistema di infrastruttura di comunicazione fornisce
le strutture ed i servizi di sistema per le comunicazioni ed il networking. Ciò
include:
- Un gestore dellarchivio delle comunicazioni che controlla la configurazione delle comunicazioni
- Un socket server ed una API lato client che fornisce una
struttura per implementare i vari protocolli di comunicazione attraverso una
interfaccia socket. I protocolli plug-in sono caricati dinamicamente.
- Supporto multi-homing: interfacce multiple simultanee a
livello OSI datalink, ognuna con il suo proprio indirizzo IP. Questo non è
limitato ai contesti PDP Primari ma fornisce la disponibilità di tecnologie ad accesso multiplo come WLAN,
BNEP e Ethernet con contesti PDP multipli
- Un gestore di interfaccia di rete che fornisce una struttura
per la connessione ad altri computer o network. Il gestore fornisce un
meccanismo al client per monitorare le attività ad esempio su una connessione
PPP
- Un server di comunicazione seriale fornisce una porta
seriale (RS232C) per permettere al telefono basato su Symbian OS di funzionare come DCE o DTE. Moduli plugin di comunicazione dinamicamente caricabili vengono attualmente usati per comunicare con i driver di dispositivo ed altri stack di protocollo
- Stack HTTP e WAP
Messaging
La struttura di messaging fornisce il supporto per i
protocolli di messaging per l’invio e la ricezione di SMS, EMS, MMS, email e
messaggi fax. La struttura usa Moduli ti Tipo di Messaggio (MTM) per gestire
specifici tipi di messaggio. MTM possono essere aggiunti in run-time per
espandere le capacità di messaging dei telefoni basati su Symbian OS dopo
l’acquisto.
Multimedia
La struttura Multimedia (MMF) fornisce una struttura snella
e multi-threaded per gestire i dati multimediali. La struttura fornisce
funzionalità di registrazione, riproduzione e streaming audio e video.
Grafica
Il sottosistema grafico fornisce applicazioni di Symbian OS
con accesso condiviso allo schermo, input da tastiera e da dispositivo di
puntamento, font carattere bitmap (forniti tramite l’Open Font System) e bitmap
usando uno spazio condiviso. Esso implementa anche l’interfaccia del
Dispositivo Grafico (GDI), fornendo una struttura generica per il disegno a
tutti i dispositivi grafici, e fornisce implementazioni concrete per disegnare
in finestre, bitmap o per stampare.
Le caratteristiche principali sono:
- Accesso diretto allo schermo: il server della finestra permette al video di essere tracciato in modo sicuro dallhardware o dal driver dispositivo.
- Supporto antialiasing per testo su tutti i tipi di schermi
(monocromatici, a colori, etc.) per migliorare la leggibilità
- Strato di Astrazione Hardware 2D (HAL) che fornisce un
supporto di accelerazione hardware per le comuni operazioni grafiche 2D incluso
operazioni di bitBlit, riempimento rettangoli, tracciamento poligoni,
inversione rettangoli ed operazioni di sfocamento rettangolare.
Motori di applicazione
I motori di applicazione del core includono agenda
(schedulatore), to-do, contatti, spreadsheet, allarme, server di parole e
motore di aiuto.
Struttura di applicazione
Il sottosistema di struttura di applicazione fornisce un
ambiente potente per i partner che vogliono creare differenti interfacce
utente.
Le principali caratteristiche dell’architettura di
applicazione sono:
- Esegue le applicazioni come processi separati
- Associa un documento con la sua applicazione con l'icona dellapplicazione appropriata
- Fornisce una struttura di riconoscimento di tipo di dati
(tipi MIME ed altri)
- Supporta l'object embedding
- Fornisce un meccanismo di errore generico
- Fornisce una struttura di notifica
- Una struttura di riconoscimento plugin che trova tutte le
applicazioni installate e associa i documenti ad esse
- Supporto all'internazionalizzazione
Connettività PAN
La connettività Personal Area Networking è disponibile
attraverso il supporto di Bluetooth, seriale, USB, infrarosso e dispositivi
Ethernet.
BASE
Il sottosistema Base fornisce una struttura di
programmazione per tutte le componenti di Symbian OS. Base fornisce
un’astrazione per facilitare la progettazione su piattaforme multiple e risorse
rendendo più semplice il porting di Symbian OS su nuovi tipi di hardware. Base
assicura la robustezza, la prestazione e la gestione efficiente dell’energia di
Symbian OS – tutti essenziali in un cellulare. Le parti principali visibili
all’utente di Base sono la libreria utente ed il server dei file.
Connettività PC
Il toolkit di connettività PC consiste di componenti sul
telefono cellulare basato su Symbian OS e di componenti sul PC che cooperano
per fornire servizi di connettività ed abilitano la sincronizzazione dati.
Java
L'implementazione Java di Symbian OS 7.0 fornisce MIDP 2.0, CLDC 1.0 con Java VM CLDC HI di Sun,
Bluetooth 1.0 e il Messaging Wireless 1.0. Include anche Personal Java con le
API JavaPhone.
Con PersonalJava e JavaPhone, il telefono cellulare combina
la potenza di Java con l’accesso a funzionalità più specializzate: Le API
JavaPhone forniscono accesso a PIM, messaging, telefonia etc.
Sicurezza
Il sottosistema di sicurezza abilita la confidenzialità dei
dati, l’integrità e l’autenticazione fornendo supporto alla base dei protocolli
di comunicazione sicuri come TLS/SSL, WTLS e IPSec. Supporta anche
l’autenticazione di software installabile che usa la firma digitale.
Sviluppo software per la creazione di dispositivi
La comunità di creazione di dispositivi di Symbian OS costruisce Symbian OS, i driver dispositivo, componenti middleware, strutture GUI e applicazioni in telefoni basati su Symbian OS. Questa attività è supportata con i kit Symbian OS assieme ai tool hardware e software basati su sviluppo in C++. La portabilità di applicazioni per palmari al Symbian OS è assicurata ad esempio dal tool Crossfire, della AppForge Inc. (www.appforge.com), che permette agli sviluppatori un facile porting delle proprie applicazioni.