INDICE 1. QUE ES SYMBIAN 2 CARACTERISTICAS GENERALES DE SYMBIAN OS 2.1 CARACTERISTICAS PRINCIPALES DE SYMBIAN OS V7.0 3. ARQUITECTURA 3.1 MOTORES DE APLICACION 3.1.1 SYNCML DATASYNC 3.1.2. WEB ENGINE 3.2. MENSAJERIA 3.2.1. SERVICIO DE MENSAJES CORTOS (SMS) 3.2.2. SERVICIO DE MENSAJES REALZADOS (EMS) 3.3.3. SERVICIO DE MENSAJES MULTIMEDIA (MMS) 3.3.4. E-MAIL 3.3.5. FAX 3.4. MULTIMEDIA 3.5. FRAMEWORK DE APLICACION 3.5.1. GUI (INTERFAZ GRÁFICA DE USUARIO) 3.5.2. SERVICIOS DE SOPORTE DE APLICACIONES 3.5.3 SOPORTE DE INTERNOCIONALIZACIÓN 3.5.4 UTILIDADES GRÁFICAS Y DE TEXTO 3.6. COMUNICACION DE AREA PERSONAL 3.6.1. BLUETOOTH STACK 3.6.2. INFRARROJOS 3.6.3. USB 3.7. INFRAESTRUCTURA DE COMUNICACION 3.7.1. REDES DE COMUNICACION 3.7.2. HTTP STACK 3.7.3. WAP STACK 3.8. CONECTIVIDAD PC 3.8.1 GESTOR DE CONEXIÓN 3.8.2 TOOLKIT DE CONEXIÓN 3.9. TELEFONÍA 3.9.1. Telefonía GSM/EDGE 3.9.1.1 GSM 3.9.1.2 GPRS (GENERAL PACKET RADIO SERVICE) 3.9.1.3 EDGE (ENHANCED DATA-RATES FOR GLOBAL EVOLUTION) 3.9.2 TELEFONÍA CDMA 3.9.2.1 CDMA (IS-95) 3.9.2.2. CDMA2000 1X 3.10. SEGURIDAD 3.10.1. MODULO DE CRIPTOGRAFÍA 3.10.2. FRAMEWORK DE CRIPTOGRAFIA 3.10.3. INSTALACION DE SOFTWARE 3.11. BASE 3.11.1. EL KERNEL Y LIBRERÍAS DE USUARIO 3.11.2. ARQUITECTURAS CPU 3.1.1.3. DRIVERS 3.12 DESARROLLO DE SOFTWARE 3.12.1. HERRAMIENTAS DE SYMBIAN OS 3.12.2. HERRAMIENTAS DE DESARROLLO C++ 3.12.3. ON-TARGET APPLICATION DEBUGGING 3.12.4. ON-TARGET KERNEL DEBUGGING 3.12.5 PASARELA DE REFERENCIA 3.12.6. PASARELA DE INTEGRACIÓN DE HARDWARE 3.12.7. INTEGRACIÓN DE PILA DE TELEFONÍA 3.13. DESARROLLO DE APLICACIONES 3.13.1. LOS SDKS 3.13.2. C++ 3.13.3. JAVA 4. FILOSOFÍA DE SYMBIAN OS 4.1. NECESIDADES ESPECÍFICAS DE UN SO PARA DISPOSITIVOS MÓVILES 4.2. NECESIDAD DE UN SO DIFERENTE 5. CONCLUSIÓN REFERENCIAS 1. QUE ES SYMBIAN Symbian es una compañía de software propiedad de Ericsson, Matsushita, Motorola, Nokia y Symbian es una compañía de software propiedad de Ericsson, Matsushita, Motorola, Nokia y Psion creada con el propósito de desarrollar una plataforma estándar para teléfonos móviles inteligentes. El objetivo de Symbian es crear dicha plataforma para los nuevos Dispositivos Inalámbricos que representan la próxima revolución en comunicación móvil: Tecnología de comunicación de datos y de voz combinada en un pequeño dispositivo móvil con acceso a los servicios de voz e información sin cable. Resumiendo, Symbian OS es: • Un sistema operativo más o menos común para sus dispositivos, pero con diferentes interfaces gráficas. • El núcleo de la plataforma Symbian es el kernel EPOC-R5 (programado en C++). • Usa una arquitectura de microkernel. • ER5u se usa en Ericson R380 • Una plataforma abierta • Independiente de la máquina. • Interfaz de usuario avanzado Serie 60 Symbian OS se usa en muchos modelos de teléfonos modernos. Está disponible en Ericsson R380, Sony-Ericsson P800, Nokia 9200 communicator series, Nokia 7650, Nokia 3650, NTT DoCoMo F2051, PDAs de Psion, y pronto también estará en Nokia N-Calibraron, Siemens SX1, BenQ P30 y Samsung SGH-D700. Tiene aplicaciones muy diversas y está pensado para adaptarse con gran flexibilidad a las necesidades de una industria cuyo hardware cambia a gran velocidad : los dispositivos móviles. 2. CARACTERISTICAS GENERALES DE SYMBIAN OS • • • • • • • Telefonía móvil ‘multi-modo’ integrada. Symbian OS integra la potencia de computación con la telefonía móvil, aportando servicios avanzados de datos al mercado masivo. Entorno abierto de aplicación. Permite a los teléfonos móviles ser una plataforma de aplicaciones y servicios (programas y contenido) que puede ser desarrollada en una amplia gama de lenguajes y formatos. Estándares libres e interoperabilidad. Con una implementación flexible y modular, Symbian OS proporciona un sistema esencial de APIs (Application Programming Interface) y de tecnologías compatibles para todos los teléfonos Symbian. ‘Multi-Tarea’. Está basado en una arquitectura de ‘micro-kernel’ e implementa funciones de tipo ‘multi-tarea’. Los servicios del sistema como la telefonía, las redes ‘middleware’ y las aplicaciones, funcionan en sus propios procesos. Orientado a objeto y Basado en componente. El sistema operativo está diseñado y pensado exclusivamente para los dispositivos móviles, usando técnicas avanzadas de OO (orientación a objetos), para construir una arquitectura flexible basada en componentes. Diseño flexible de la interfaz de usuario. Permitiendo un diseño gráfico flexible de la interfaz de usuario en el sistema y usando el mismo SO como base en diferentes diseños, Symbian OS facilita el proceso de desarrollo de la aplicación. Robustez. Symbian OS mantiene el acceso inmediato a los datos del usuario. Asegura la integridad de los datos, incluso en presencia de comunicación no fiable y de falta de recursos como son la memoria, el almacenamiento y la energía. 2.1. CARACTERISTICAS PRINCIPALES DE SYMBIAN OS V7.0 • • • • • • • • • • • • Motores de aplicación: incluye motores para contactos, horario, messaging, buscadores, control de la utilidad y el sistema; OBEX para intercambio de objetos como citas (utilizar vCalendar uniforme) y las tarjetas (vCard); APIs integradas para la administración de datos, texto, tablilla con sujetapapeles y gráficas. Navegador: proporciona WAP con soporte para WAP 1.2.1 para navegar desde el móvil. Mensajería: messaging (MM) multimedia, messaging extendido (EMS) y SMS; utiliza POP3 de correo de internet, IMAP4, SMTP y MHTML ; attachments ; fax. Multimedia: soporte de audio y video para grabar, repetir y reproducir; conversión de imagen. Gráficos: acceso directo a pantalla y teclado para un mayor rendimiento; acelerador de API gráfica. Protocolos de comunicaciones: conexión de red wide area que incluye TCP/IP (modo dual IPv4/v6) y WAP, conexión de red de área personal que incluye infrarrojo (irda), Bluetooth y USB; se proporciona soporte para multihoming y Calidad de Servicio (QoS) de la capa de conexión en GPRS/redes de UMTS. Telefonía móvil: Symbian O v7.0s está listo para el mercado 3G con apoyo para circuitos de voz de GSM y circuitos de datos (CSD y la EDGE ECSD) y datos basados en paquetes (GPRS y la EDGE EGPRS); conmutación de circuitos de voz CDMA, datos y paquetes de datos (IS-95 , cdma2000 1x, y WCDMA); SIM, RUIM y juego de herramientas de UICC. Soporte internacional: Unicode 3.0 Uniforme. Sincronización de datos: over-the-air (OTA), utiliza el soporte de sincronización SyncML; sincronización basada en PC personal sobre el serie, Bluetooth, Infrarrojo y USB; proporciona a la estructura de Conectividad de computadora personal la habilidad de transferir los archivos y sincronizar los datos de PIM. Seguridad: la administración repleta de codificación y certificados, asegura protocolos (HTTP, WTLS y SSL y los TLES), estructura de WIM e instalación basada de certificado de aplicación. Desarrolladores para Symbian OS: las opciones de desarrollo contenidas incluyen : C++, Java (J2ME) MIDP 2.0 y Personal Java 1.1.1a (opción de 1.0 de JavaPhone ), y WAP. Entradas del usuario: mecanismo de entrada genérico que soporta un teclado completo, 0-9 *# (teclado pequeño de celular), voz, reconocimiento de escritura y entrada predictiva de texto. 3. ARQUITECTURA 3.1. MOTORES DE APLICACION Los motores de aplicación centrales incluyen: • Motor de agenda: programa de acceso compartido cliente-servidor genérico; soporte vCalendar , soporte para campos de categoría, requisitos de conectividad, soporte SMS, eventos repetitivos sofisticados • Modelo de contactos: Motor de base de datos de contactos con acceso compartido cliente-servidor genérico, integra aplicaciones de mensajería para e-mails, fax y SMS, identificación del número que llama, recibir una vCard, soporte de grupo, soporte para múltiples templates, soporte para tipos de campos desconocidos, requisitos de conectividad. • Motor de hoja : soporta hojas de cálculo para muchas hojas de trabajo, formato de texto por celdas, bordes y sombreado, funciones generales, científicas y estadísticas.. • Motor de ayuda: consistente en cuatro partes, un mecanismo de lanzamiento, el modelo (que describe la base de datos a sus clientes), el motor de búsqueda SQL, y facilidades para usar el cliente del sistema archivos de ayuda basados en PC. • Motor de tablas y gráficos: presenta gráficos para la vista gráfica de una aplicación hoja de cálculo. • Texto para el conversor Symbian OS Word: proporciona la conversión entre texto llano y un modelo de Symbian OS Word y al revés. • Motor de aplicación de datos: para una aplicación de base de datos sin formato • Motor de aplicación word: para una aplicación de procesador de word 3.1.1 SYNCML DATASYNC El cliente SyncML DataSync cumple con las especificaciones de SyncML DataSync 1.01. Tiene algunas características útiles como : • Adaptador de base de datos(DBA): permite al Sync Client Engine extraer información de sincronización y intercambiar datos con la base de datos que está siendo sincronizada. • API de Transporte (TAPI): esto proporciona un a API genérica común al Sync Client Engine de modo que sea capaz de iniciar las conexiones, enviar y recibir datos, etc.. • En un modo que es independiente del protocolo de transporte subyacente y de los medios de transporte usados. Proporciona una HTTP TPA Una DBA de contactos y una agenda DBA son proporcionadas para permitir la sincronización de Contactos y de la Agenda Los adaptadores de bases de datos y transporte son plug-ins de modo que los adicionales pueden ser escritos e instalados. 3.1.2. WEB ENGINE El motor del navegador Opera tiene funcionalidades similares a las de los productos de escritorio. Opera usa el mecanismo de sockets Symbian OS estándar y navega sobre GSMCSD, GPRS, CDMA, TCP/IP, etc. También navega a través de archivos locales. Tiene las siguientes características: XML 1.0, ofrece : HTML 4.01, CSS-1, CSS-2, MHTML; ECMAScript, soporte de descargas y instalación de Java MIDlets, formatos de imagen (jpeg, gif, png,..), descargas FTP, manejo de un esquema URL desconocido o de tipos MIME desconocidos... 3.2. MENSAJERIA El framework para mensajería soporta el envío y recibo de mensajes de texto (SMS), mensajes realzados EMS, y mensajes multimedia MMS, e-mail i mensajes de fax. El sistema API permite la creación de mensajes (e-mail, fax, SMS, EMS o MMS) incluso desde otra aplicación; los mensajes son almacenados en el outbox del espacio para mensajes. El tipo de Mensajería BIO usa un visor que se utiliza para los mensajes que van dirigidos al propio sistema operativo y no al usuario final. Un mensaje del tipo BIO normalmente soporta tarjetas compactas, vCARD, Vcalendar, notificación de e-mail, tono de teléfono, y herramientas para acceso a Internet, MMS y WAP. Los mensajes BIO vCard y vCalendar son soportados por el puerto de infrarrojos y enlace Bluetooth. 3.2.1. SERVICIO DE MENSAJES CORTOS (SMS) EL soporte SMS consiste en una pila de SMS con mensajería API para mandar y recibir SMS y proporciona las siguientes características: • La pila de SMS se implementa como un protocolo Plug-in. En este caso es proporcionado el GSM (03.40). • La pila SMS de GSM puede ser usada como soporte para el protocolo del módulo WAP. • transmisión y recepción de SMS de GPRS • SMS: manda y recibe conjuntos de mensajes SMS streamed. Enumera, lee, escribe, y borra accesos a las áreas de almacenaje SMS del teléfono y de la tarjeta SIM. • En este caso podemos distinguir los distintos alfabetos, alfabeto SMS de 7bits, alfabeto SMS de 8bits y además se soporta el esquema UCS2 de codificación de datos. Soporta el envío y recibo de mensajes SMS concatenados. 3.2.2. SERVICIO DE MENSAJES REALZADOS (EMS) El sistema de mensajería EMS transmite principalmente formatos utilizados por nuestro sistema operativo y que en general son aplicables a nuestro dispositivo. El sistema de mensajería EMS soportado en Symbian OS está codificado con 3GPP release 4(TS 23.040) y presenta las siguientes características: • dibujos creados en el móvil, dibujos variables (1024x1 hasta 8x128), dibujos pequeños 16x16 y grandes 32x32 • animaciones: Animaciones predefinidas (animaciones múltiples separadas) animaciones en blanco y negro y animaciones definidas por el usuario. • Sonidos: iMelody • Podemos tener distintos formatos de texto: estilos de texto (negrita, subrayado, strikethrough, italic), tamaño del texto (pequeño, medio, grande) y alineamiento (izquierda, centrado, derecha). 3.3.3. SERVICIO DE MENSAJES MULTIMEDIA (MMS) MMS es un sistema que opera con aplicaciones. Opera sobre CSD y GPRS y presenta las características siguientes: • Soporta WSP y HTTP de transporte. Los mensajes son recibidos sobre WSP Get o HTTP Get, y son enviados usando WSP Post o HTTP Post. • La notificación del mensaje es recibida sobre WAP 1.2.1 Push o sobre HTTP por un mecanismo de ‘push’ similar. • soporta otros parámetros como: Message-Type, MMS-Version, fecha, origen, destino, Cc, Bcc, sujeto, tipo de mensaje, expiración, prioridad, informe envío, tipo de contenido, Status de respuesta y texto de respuesta. • Soporta Internet y direccionamiento MSIDSN incluyendo direcciones mezcladas. • Presentación basada en SMIL 2.0. y con posibilidad de utilizar SMIL 1.0. 3.3.4. E-MAIL Características y servicios: • Internet mail • Internet access points (IAP): Un soporte de conexión sobre GPRS así como GSM CSD. Múltiples APIs, los tipos GPRS y GSM CSD. • Conexiones socket seguras: que permiten establecer una conexión LS socket a servidores e-mail con facilidad. 3.3.5. FAX Mensajería tipo fax interconectando los componentes de mensajería fax de sus conexiones a más alto nivel con un aparato de fax a más bajo nivel. El Fax soporta las siguientes características: • Fax clase 1, 2 y 2.0 (ANSI/TIA/EIA 578 y ANSI/TIA/EIA 592), conforme a la especificación ITU T.30 • Varios “recipientes” de faxes salientes • ITU T.4, codificación 1D y 2D • Horario de mensajería 3.4. MULTIMEDIA El subsistema gráfico proporciona a las aplicaciones de Symbian OS acceso compartido a la pantalla, teclado y punteros de entrada. También implementan el GDI (Graphics Device Interface, interfaz gráfica del dispositivo), proporcionando un framework genérico para dibujar cualquier gráfico. El subsistema de multimedia proporciona aplicaciones de audio y video. Las principales son: • Framework con una librería compartida para soportar las funcionalidades gráficas más comunes y una librería de plug-in’s para soportar los formatos más habituales. Los formatos que soporta son JPEG, BMP, MBM, GIF, TIFF, PNG, WBMP, WMF e imágenes Smart Messaging, a la hora de decodificar. Y codifica en JPEG, BMP y MBM. • 2D Hardware Abstraction Layer (HAL) para permitir al acelerador de hardware soportar algunas operaciones de gráficos 2D. • Framework de audio, consistente en un una librería para soportar las funcionalidades de audio más comunes, una librería de plug-in’s para lectura/escritura y soporte de distintos formatos. Incluye WAV, AU, WRE y RAW, con varios subformatos. • Interfaces de servidor: plug-in’s genéricos, de hardware, para incorporar nuevos formatos de audio… • Interfaces de cliente: sesión, controlador, recurso, registro, temporizador, utilidades para grabar y reproducir audio y utilidades para manipular imágenes. 3.5. FRAMEWORK DE APLICACION El framework de aplicación proporciona un entorno muy potente para crear distintas interfaces de usuario, permitiendo aplicaciones escritas en C++ y Java. Desde el punto de vista de la arquitectura, es un subsistema central para el soporte de las aplicaciones de la interfaz gráfica de usuario. Incluye mecanismos para instantaneizar componentes en tiempo real, librerías para datos reutilizables muy potentes, gráficos y soporte de texto. También proporciona una librería de utilidades para internet. Sus principales funcionalidades se pueden dividir en los siguientes grupos: 3.5.1. GUI (INTERFAZ GRÁFICA DE USUARIO) Su principal objetivo es definir tan poco la línea de conducta como sea posible, minimizando la dependencia de la interfaz de usuario de los diseñadores de un dispositivo. Esto facilita el compartir aplicaciones entre diferentes dispositivos. 3.5.2. SERVICIOS DE SOPORTE DE APLICACIONES Son unos componentes, usados principalmente por las aplicaciones, que proporcionan servicios básicos como agentes de sistema, servidores de alarma y reproducción de sonido, bases de datos con códigos de países y ciudades, conversión entre calendario Gregoriano y Chino, soporte de caracteres del este asiático y convertidores entre documentos Symbian OS y Windows (Word y Excel 95, 97, 2000) y entre Rich Text y HTML. 3.5.3 SOPORTE DE INTERNOCIONALIZACIÓN Una serie de framekorks cuyas funcionalidades básicas son el soporte del abecedario europeo, chino y japonés, con los plug-in de reconocimiento y conversión necesarios. Soporta la versión 3.0 del Unicode Standard. 3.5.4 UTILIDADES GRÁFICAS Y DE TEXTO Grupo de utilidades cuyas funcionalidades típicas son el enriquecimiento de texto, capacidades de texto multinivel, soporte para plug-in’s que reconocen ciertos tipos de cadenas de caracteres (URL, direcciones de e-mail o números de teléfono), soporte para cambio de esquemas de colores e imágenes de fondo. 3.6. COMUNICACION DE AREA PERSONAL 3.6.1. BLUETOOTH STACK El stack (pila) Bluetooth de Symbian OS cumple plenamente con las especificaciones de Bluetooth v1.1. El stack de Bluetooth implementa el Generic Access Profile, el Serial Port Profile y el General Object Exchange Protocol. Todos los demás archivos de Bluetooth dependen de estos tres archivos centrales. El stack se compone de un gestor de seguridad Bluetooth, un módulo servidor de comunicaciones Bluetooth y un módulo servidor Service Discover Protocol. Esto proporciona seis interfaces: • El módulo Host Controller Interface (HCI) • La API sockets de Bluetooth • La API de comunicaciones serie de Bluetooth • El gestor de Bluetooth • LA API del Service Discovery Protocol (SDP) de Bluetooth • El Intercambio de Objetos(OBEX) 3.6.2. INFRARROJOS La pila IrDA de infrarrojos está contenida en un módulo del tipo socket server protocol que implementa los siguientes capas: IrLAP v1.1, IrLMP v1.1 y IrTinyTP v1.1. 3.6.3. USB Symbian OS soporta una interfaz de cliente USB 1.1 a través de una API “drive kernel”. La interfaz de cliente USB permite múltiples funciones y permite a las “clases USB” operar simultáneamente. 3.7. INFRAESTRUCTURA DE COMUNICACION El subsistema de infraestructura de comunicación proporciona los permisos y servicios del sistema para las comunicaciones y acceso a la red. Este incluye: • • • • un manager de comunicaciones que controla el ancho de la configuración del sistema de comunicaciones Un socket Server y un cliente API que proporciona una estructura para la implementación de varios protocolos de comunicación a través de sockets. Protocolos de Plug-in que son descargados dinámicamente. Un gestor de la interfaz de trabajo que proporciona una estructura de conexión a otras maquinas o redes. Un servidor de comunicaciones serie que proporciona una abstracción del puerto serie (RS232C) para permitir a los teléfonos con Symbian OS funcionar como un DCE y DTE requerido. Módulos de comunicación de Plug-in que son descargados dinámicamente y utilizados para comunicarse con drivers de aparatos y otros protocolos. 3.7.1. REDES DE COMUNICACION La pila dual proporcionada soporta el Ipv4 e Ipv6. La pila IP proporciona una arquitectura de plug-in permitiendo licencias o ISVs para implementar actualizaciones. Características: • • IPSec es un importante plug-in para comunicaciones seguras El soporte de conexión en Symbian incluye: o Transmission Control Protocol (TCP), o User Datagram Protocol (UDP) o IPv4/v6 stack. El TCP/IP stack proporciona una arquitectura plug-in, que puede interaccionar con los niveles OSI 2,3 y hasta 4 y los componentes pueden ser instalados, cargados y descargados en tiempo de procesado. o Internet Control Message Protocol (ICMP) o Point to Point Protocol (PPP) o Domain Name System (DNS) o Soporte para dial up. o Protocolos de seguridad para el comercio electrónico: Transport Layer Security (TLS) y Secure Socket Layer (SSL). o IPSec: Se usa protocolo de capa de IP para asegurar la comunicación host-tohost o firewall-to-firewall o motor Telnet Protocol o motor File Transfer Protocol (FTP) engine o Soporte ethernet: interfaz (PCMCIA cards para WINS y tarjeta integrada Ethernet para desarrollos) 3.7.2. HTTP STACK • • HTTP 1.1 cliente que permite aplicaciones como SyncML DataSync, GPRS, OCSP y streaming multimedia para operar sobre TCP/IP. Arquitectura Transport Framework que proporciona un mecanismo generalizado para protocolos similares a http que operan sobre varios tipos de transporte. El framework proporciona un API unificado y de alto nivel independiente de las cabeceras particulares, detalles del http como protocolos, y elecciones de transporte. Usando esta API un cliente puede elegir un protocolo estilo http, la codificación y el tipo de transporte. Esto es además usado como una interfaz WSP para WAP. 3.7.3. WAP STACK El subsistema de wap stack incluye soporte para WAP 1.2.1 (WAP Junio 2000), funciones “push” y soporte para GPRS. La pila WAP soporta el protocolo de especificaciones versión 1.1 y 1.2.1 clase C 3.8. CONECTIVIDAD PC Formado por componentes en el teléfono Symbian y componentes en el PC, que proporcionan servicios de conectividad y permiten la sincronización de datos. 3.8.1 GESTOR DE CONEXIÓN El gestor de conexión basado en Intuwave’s m-Router gestiona las conexiones entre un PC y un teléfono Symbian OS. Incluye componentes del lado del cliente y del lado del PC. Características: • Abstracción del bearer de la capa de protocolo. • Habilidad para poder soportar aplicaciones de cliente múltiple. • Soporte para la maniobra de unificación del lado del PC. • Soporte para inicio de la conexión basada en teléfono Symbian Os o PC • Detección de una desconexión inesperada de un teléfono y transmisión de la desconexión a todos los clientes en el PC • Abastecimiento de APIs para diversas funcionalidades. 3.8.2 TOOLKIT DE CONEXIÓN Características: arquitectura framework, framework UI, aplicación “archive”, progama de tareas, panel de control, drivers de tareas, driver de tareas de copia de seguridad, framework para permitir a los componentes que se sincronizan ser integrados, extensión shell Explorer, registro de errores. 3.9. TELEFONÍA El subsistema de telefonía proporciona una API multimodo a sus clientes. Esta API abstrae redes celulares incluyendo GSM, GPRS, EDGE, CDMA (IS-95) y 3GPP2 cdma 1x (Release A) y esta preparado para 3GPP. La abstracción de la telefonía multimodo es clave para que Symbian OS proporcione una integración con los demás sistemas operativos que permita crear servicios de datos avanzados. La funcionalidad común a todas las redes incluye: información de red y teléfono, phonebook, configuraciones one-box y two-box. 3.9.1. Telefonía GSM/EDGE 3.9.1.1 GSM El framework de la telefonía GSM proporciona una interfaz de telefonía abstracta para voz GSM, datos y fax, y para módems landline para dados y fax además de la determinación del número de teléfono y SIM Application Toolkit. Características: llamadas de voz (iniciar, terminar y responder), llamadas de datos en conmutación de circuitos (iniciar, terminar y responder). La abstracción soporta una amplia variedad de funcionalidades de ETSI GSM fase 2+. Soporta servicios suplementarios como ALS (Alternative Line Service, Alternating Call Services (entre voz y datos, y voz y fax), llamada en espera, Called/Calling Party Identity Presentation (CLIP) y Restriction (CLIR), User-User signaling (UUS), identificación en espera de mensaje, network service requests (USSD), etc. 3.9.1.2 GPRS (GENERAL PACKET RADIO SERVICE) El framework de GPRS proporciona una interfaz de telefonía abstracta para la funcionalidad GPRS de clase B. Con esta funcionalidad los teléfonos pueden realizar y recibir llamadas GSM mientras se mantienen registrados a GPRS. Si un contexto Packet Data Protocol está activo, los servicios GPRS automáticamente se suspenden y se reanudan. Características principales: • Acoplamiento y desacoplamiento de la red GPRS • Activación y desactivación de un contexto Packet Data Protocol (PDP) para transferir datos. • Habilidad para activar y desactivar el contexto PDP automáticamente sin intervención explícita del cliente • Habilidad de suspender automáticamente una conexión de datos GPRS cuando se produce una llamada GSM entrante o saliente y de reanudar una conexión de datos GPRS suspendida de la red GPRS • Servicio de notificación y información para el software cliente de información de red. 3.9.1.3 EDGE (ENHANCED DATA-RATES FOR GLOBAL EVOLUTION) El framework de EDGE proporciona una interfaz de telefonía abstracto para 3GPP GSM/EDGE. Principales características: • Soporte EDGE mejorado con CSD (ECSD) • Soporte EDGE mejorado con GPRS (EGPRS) 3.9.2 TELEFONÍA CDMA 3.9.2.1 CDMA (IS-95) El framework de telefonía CDMA proporciona una interfaz de telefonía abstracta para voz CDMA (IS-95), datos y fax. Características principales: llamadas de voz (iniciar, terminar y responder), datos en conmutación de circuitos, datos en conmutación de paquetes, SMS, operación en redes AMPS(sólo voz), compatibilidad con redes cdma2000. Soporta servicios complementarios incluyendo: llamada en espera, Called/Calling Party Identity Presentation (CLIP) y Restriction (CLIR), identificación en espera de mensaje, petición de servicio de red. 3.9.2.2. CDMA2000 1X El framework de 3GPP2 cdma2000 1x proporciona una interfaz de telefonía abstracta para voz 3GGP2 cdma2000 1x (release A), datos y fax. Características principales: datos en conmutación de circuitos, datos en conmutación de paquetes, Removable-User Identity Module (R-UIM), sincronizador del phoneboook. 3.10. SEGURIDAD El subsistema de seguridad permite la confidencialidad de datos, integridad y autenticación proporcionando un soporte subyacente para comunicaciones seguras con protocolos como TLS/SSL, WTLS y IPSec. Permite la autentificación del software instalable usando “firma digital”. 3.10.1. MODULO DE CRIPTOGRAFÍA El módulo de criptografía es la parte del sistema operativo donde los datos relevantes son codificados intentando que sean seguros. El módulo incluye los siguientes componentes importantes: • • • Algoritmos criptográficos permitiendo que la información sea encriptada y desencriptada. Además soporta además cifradores simétricos: DES, 3DES, RC2, RC4 y RC5, y cifradores asimétricos: RSA, DSA y DH. Funciones hash: MD5, SHA1 y HMAC generador pseudoaleatorio de números para generar claves criptográficas 3.10.2. FRAMEWORK DE CRIPTOGRAFIA El cryptographic token framework nos permite tener soporte para el hardware extraíble o temporal, como módulos WIM. Consta de dos partes: • • Un framework que permite al código de aplicación preguntar al sistema por la validez de las implementaciones de interfaces criptográficos específicos y sus atributos. La definición de un NET de interfaces criptográficas. Están definidos los siguientes interfaces criptográficos: • Una interfaz de almacenamiento de certificados leídos, soportando formatos X.509 y WTLS y certificados de autoridad y de usuario • un interfaces de certificados que pueden ser modificados soportando los formatos anteriores. • una interfaz de almacenamiento de claves privadas • Una interfaz de autenticación de objetos (por Ej. Pins) • Una interfaz Standard para programar la seguridad propia de las operaciones del usuario. • Están también incluidas las siguientes interfaces de implementación: o Una implementación de la interfaz de certificados de lectura dando acceso a certificados WTLS usados por WAP. o Una implementación de la interfaz de certificados modificables dando acceso a los certificados empleados por todo tipo de programas o Una implementación que permite gestionar los certificados almacenados o Una implementación de referencia para gestionar la seguridad de operaciones del usuario. 3.10.3. INSTALACION DE SOFTWARE El sistema de instalación de software proporciona una instalación rápida y robusta. Las herramientas de instalación soportan: • Instalación, selección, procesamiento y eliminación de paquetes y Java MIDP MIDlets • Autenticación de los componentes de software usando firma digital. • compresión de los paquetes de instalación para reducir el riesgo de espacio en disco y tiempos de descarga • diferentes variedades de teléfono, permitiendo la instalación de un “creador” de paquetes para asegurarnos del correcto funcionamiento del software. 3.11. BASE El subsistema de Base proporciona un framework para todos los demás componentes de Symbian. Asegura la abstracción entre máquina y software, posibilitando que Symbian sea un sistema muy portable a nuevos tipos de hardware, además de asegurar robustez y un manejo eficiente de la potencia (algo esencial en sistemas móviles). Las partes más visibles en las que se subdivide son: 3.11.1. EL KERNEL Y LIBRERÍAS DE USUARIO El kernel se ejecuta en modo privilegiado, posee drivers del dispositivo, realiza el manejo de potencia y reserva la memoria en los procesos. El kernel implementa un framework de traspaso de mensajes para el beneficio de los servidores del lado del usuario (como en redes y telefonía). La biblioteca de usuario está en el nivel más bajo del modo de usuario. Las principales funcionalidades son las siguientes: • Manejo de memoria, procesos e hilos de ejecución. • Tratamiento de errores. • Contenedores de clases • Arquitectura cliente-servidor, para comunicaciones internas, sencillas y eficientes. • Abstracción del hardware. • Capacidades de manejo de la energía eficientemente, mediante un modelo de energía en el kernel. • Capacidad de ejecutarse en modo silencio: pantalla apagada • Soporte de RAM interno acoplado. • Posibilidad de extender el kernel mediante DLLs. 3.11.2. ARQUITECTURAS CPU Soporta las siguientes arquitecturas de CPU: • ARMv4: StrongARM SA1 • ARMv4T: ARM710T, ARM720T, ARM920T, ARM922T, ARM925T • ARMv5T: XScale, ARM1020T • ARMv5TJ: ARM926EJ • Intel x86 3.1.1..3. DRIVERS La Base proporciona drivers y/o controladores para los siguientes dispositivos: • DTE serial port • DCE serial port • Infrarrojos • HWA (el driver implementa la API de aceleración hardware para el manejo de hardware DSP) • Cliente USB • Drivers audio (grabación y reproducción) • Tarjetas PC • MultiMediaCards • Tarjetas de memoria SD • LCD • Teclado • Conversor digital 3.12. DESARROLLO DE SOFTWARE La creación de dispositivos de Symbian incluye: Symbian OS, drivers de los dispositivos, componentes ‘middleware’, entornos de GUI (Graphical User Interface) y aplicaciones en teléfonos Symbian. Esta actividad la soportan los equipos de Symbian, junto con el hardware y las herramientas de software basadas en el desarrollo de C ++. 3.12.1. HERRAMIENTAS DE SYMBIAN OS Symbian y sus socios de desarrollo tienen licencias en dos productos: • Equipo de Personalización, licencias que permiten integrar rápidamente Symbian OS en los bases de código y dar soporte al desarrollo continuado. • Equipo de Desarrollo, un super-SDK que soporta todas las formas de actividad de desarrollo de creación de dispositivo. Los equipos de Symbian OS incluyen: • Todo el código fuente • Documentación extensa y ejemplos • TechView, un entorno GUI de dispositivos neutros • • Emulador, que soporta el rápido desarrollo y elimina fallos de todo el código basado en PCs (excepto en el núcleo y los drivers del dispositivo) Herramientas de construcción ROM para la pasarela de desarrollo de hardware, los prototipos o el dispositivo telefónico. 3.12.2. HERRAMIENTAS DE DESARROLLO C++ Los equipos Symbian OS tienen soporte para dos IDEs (entornos integrados de desarrollo) y compiladores de emulador: • Herramientas de Desarrollo Metrowerks CodeWarrior para Symbian OS. • Microsoft Visual C++ Edición Profesional 6.0. No hay soporte para Microsoft Visual Estudio.NET, ni para Microsoft Visual Estudio. Para la construcción binaria en los teléfonos, Symbian OS incluye GCC 98r2, desarrollado por Cygnus (ahora propiedad de RedHat). El recopilador y todas las herramientas tienen soporte para tres tipos de instrucciones: • ARM4, para ROMs (memorias sólo de lectura) donde el correcto funcionamiento es más importante que el espacio, o para aplicaciones en caso que ROM es de tipo ARM4. • Thumb, para ROMs donde el espacio del disco es más prioritario, o para aplicaciones cuando ROM es de tipo Thumb. • ARMI, para aplicaciones que interoperan con ROMs construidas en tanto ARM4 como Thumb. 3.12.3. ON-TARGET APPLICATION DEBUGGING Tanto el depurador de GDB GNU como el CodeWarrior de Metrowerks soportan la eliminación de fallos de programas de usuario. Una parte de los teléfonos de Symbian se comunica con el segurador de host mediante un enlace serie. • GDB usa el protocolo remoto DGB y sobre el host, tiene soporte tanto para interfaz gráfica de usuario como interfaz de línea de mando. El estándar GDB de la interfaz de línea de mando se amplia para: 1. bajar los ficheros del host 2. seleccionar el programa a depurar 3. comunicar al ‘target’ 4. ayudar a los programas Unicode en la depuración 5. guardar información de depuración DLL • CodeWarrior incluye un depurador de aplicación para la línea de productos de Symbian. Esta plenamente integrado en el entorno de desarrollo de CodeWarrior. 3.12.4. ON-TARGET KERNEL DEBUGGING Symbian OS tiene soporte para la depuración del núcleo (kernel) en modo stop. Estas depuraciones son convenientes a la hora que ingenieros desarrollan el código kernel, escriben en los drivers del dispositivo y llevan Symbian OS al nuevo hardware. Incluyen: • Segurador ARM RealView • Depurador Intel XDB Nordheim • Lauterbach TRACE32 • Metrowerks CodeWarrior para Symbian OS OEM Edition • CodeComposer de Texas Instruments Trabajan a través de una amplia gama de hardware y ofrecen propiedades diferentes como: • Kernel object viewer • SW breakpoints en ROM • Breakpoints de tareas de aviso • Varias sesiones simultáneas de depurado a través de múltiples hilos de contextos • Procesado y protección de la memoria • Construcción y descarga de ROM • Descarga ejecutable • Depuración en modo ‘stop’ del lado del usuario • Soporte de multi-procesador/DSP 3.12.5 PASARELA DE REFERENCIA Symbian OS ha sido probado y verificado sobre las plataformas de referencia de hardware: • Intel Assabet (SA-1110) • ARM Integrator SPP2 (ARM920T) 3.12.6. PASARELA DE INTEGRACIÓN DE HARDWARE Las características específicas y las funcionalidades han sido verificadas sobre la pasarela de integración de hardware basada en: • Texas Instruments OMAP • Intel PXA-250 3.12.7. INTEGRACIÓN DE PILA DE TELEFONÍA Proporciona un módulo de integración de pila de la telefonía GSM. Tiene soporte para voz, datos, SMS e información telefónica. Este módulo de software ha sido desarrollado para trabajar conjuntamente con la plataforma de telefonía de referencia de TTP Com. También puede ser usado como base de los componentes de integración. 3.13. DESARROLLO DE APLICACIONES 3.13.1. LOS SDKS Los propietarios de licencias Symbian desarrollan teléfonos y software de soporte para estos dispositivos con SDKs (kits de desarrollo software) para la comunidad ISV (vendedores de software independiente). El Symbian OS Customization Kit proporciona las herramientas requeridas por los poseedores de licencias para construir SDKs, que pueden ser introducidas al mercado ISV directamente o bien mediante compañías de herramientas. 3.13.2. C++ Soporta el desarrollo en C++, accediendo a las APIs de Symbian OS, y aplicaciones nativas “look-and-feel”. 3.13.3. JAVA Symbian OS Version 7.0 ofrece dos configuraciones: Para smartphones: MIDP v1.0 y CLDC Para comunicadores: PersonalJava con JavaPhone, más MIDP v1.0 y CLDC El primero proporciona un entorno Java para dispositivos pequeños. El otro, es el entorno Java más enriquecido y proporciona acceso a PIM, mensajes y funcionalidades de telefonía. Con PersonalJava y JavaPhone, los móviles combinan el poder de Java con funcionalidades como la mensajería. Con el más ligero, J2ME MIDP, los teléfonos tiene acceso a todos los MIDIs desarrollados. PersonalJava PersonalJava sobre Symbian OS implementa el 1.1.1a PersonalJava Application Environment. LAs funcionalidades que incluye son: • Soporte de tecnología ARM JTEK (Jazelle) para aceleradores de hardware Java y ARM VTK (VMA technology kit). • JVMDI para debug remoto (TCP/IP over the serial link) • Symbian OS SDK para herramientas Java. Herramientas de personalización en tiempo de ejecución. JavaPhone El componente JavaPhone provee un conjunto de APIs que extiende el PersonalJava runtime para acceso nativo y puerto y funcionalidades como telefonía, agenda, contactos, mensajería y monitorización de potencia. Symbian OS proporciona la implementación JavaPhone 1.0.. Son proporcionadas las siguientes APIs: • Java Pone APIs: libreta de direcciones, calendario, perfil de usuario, y datagrama de red • Interfaces PersonalJava: comunicaciones en serie, comunicaciones seguras entre sockets. • Java Telephony API: JTAPI Core package • Java Telephony API (móvil): Java Mobile API Core interfaces, Mobile Provider, Mobile Provider Event, Mobile Provider Listener, Mobile Address Mobile Terminal, Mobile Network, Mobile Radio, Mobile Radio Event y Mobile Radio Listener MIDP J2ME MIDP proporciona un entorno Java para móviles con cualquier limitación de memoria. Ofrece un entorno de ejecución para muchos MIDIs desarrollados. Podríamos destacar las siguientes características: • Implementaciones MIDPs Symbian que son compiladas con V1.0 MIDP y v1.0 de CLDC. • Implementación rápida con un pequeño footprint • Soporte del ARM’s VMA technology kit (VTK), el cuál proporciona software de aceleración para el interpretador de bytecode de la máquina virtual. • Las MIDIs parecen y se comportan de forma parecida a las aplicaciones nativas, usan el instalador de aplicaciones nativas, y componentes de UI nativos. • Soportan 4096 colores nativos. 4. FILOSOFÍA DE SYMBIAN OS Ahora que ya conocemos las características básicas de Symbian y sus funcionalidades, analicemos el porqué son ventajosas para las necesidades del mercado. 4.1. NECESIDADES ESPECÍFICAS DE UN SO PARA DISPOSITIVOS MÓVILES Los dispositivos pequeños aparecen en muchas formas y tamaños, dirigidos a diferentes mercados con distintos requisitos. El segmento de mercado en que estamos interesados es el del teléfono móvil. El requisito fundamental de este segmento de mercado es que todos los productos sean teléfonos fabulosos. Este segmento abarca los teléfonos para comunicar voz con capacidad de información (como el Nokia 3650) a los dispositivos para comunicar información con capacidad de transmitir voz (como el Sony Ericsson P800 y el Nokia 9200 Communicator series). Estos teléfonos móviles avanzados integran capacidades auxiliares digitales y personales (PDA) con los de un teléfono móvil tradicional en un solo dispositivo. Es importante mirar el mercado de telefonía móvil aisladamente. Tiene unas necesidades específicas que lo hacen diferente de los mercados para PCs o de las aplicaciones domésticas fijas. Reducir un sistema operativo de PC, o ampliar capacidades de comunicación sobre un sistema operativo pequeño y básico, da lugar a muchos compromisos fundamentales. Symbian cree que el mercado de la telefonía móvil tiene cinco características dominantes que lo hacen único, y da lugar a la necesidad de un sistema operativo específicamente diseñado: • • • • • los teléfonos móviles son a la vez pequeños y móviles los teléfonos móviles son ubicuos – apuntan a un mercado masivo de clientes, empresas y usuarios profesionales Los teléfonos móviles están conectados de vez en cuando – pueden ser utilizados cuando se está conectado con la red telefónica inalámbrica, localmente con otros dispositivos, o sólo. Los fabricantes necesitan diferenciar sus productos para innovar y competir en un mercado de rápido desarrollo. La plataforma tiene que estar abierta para permitir a vendedores de software y independientes y a la tecnología independiente desarrollar aplicaciones, tecnologías y servicios “third party” (hechos a partir de lo que otros proporcionan). La forma que tiene el mercado de la telefonía móvil de crecer es creando buenos productos - y la única manera de crear buenos productos es tratar cada una de estas características y asegurarse de que la tecnología no limita funcionalidad. Resolver el impresionante crecimiento pronosticado por los analistas en un marco de tiempo razonable es solamente posible con el sistema operativo correcto. Movilidad vs disponibilidad Los dispositivos móviles deben estar a punto para cuando el usuario los necesite, en cualquier momento. Por lo tanto, es de vital importancia el manejo óptimo de la energía suministrada por la batería. De hecho, esta batería nunca debería consumirse del todo, pues puede ser necesaria para activar alarmas o manejar llamadas entrantes. En definitiva, es necesario poder disponer de muchas horas de operación en una batería. El Sistema Operativo juega un papel definitivo para resolver estos requisitos, pues solamente será posible si está diseñado eficientemente. Dirigido al mercado masivo La fiabilidad es importante para los teléfonos del mercado masivo. La pérdida de datos en un teléfono móvil causa una pérdida de confianza entre el usuario y el teléfono. Un teléfono móvil por lo tanto debe ser por lo menos tan resistente como los diarios de papel y las agendas. Retirar los teléfonos para instalar paquetes de servicio es un práctico y último recurso comercial - un teléfono móvil nunca debe colgarse o venir con un defecto importante de software. De hecho, utilizando un término de PCs, nunca debe necesitar un reinicio. Esto se aleja del escritorio de los PCs donde los virus, caídas de la red y los reinicios son habituales. Para sorpresa de muchos usuarios de PCs, un sistema operativo robusto y fiable es perfectamente realizable. Aunque nadie puede garantizar software sin fallos, un buen sistema operativo puede hacer mucho más fácil escribir aplicaciones robustas y fiables. La fiabilidad requiere una buena ingeniería de software (incluyendo orientación a objetos) y un buen marco de tratamiento de errores. Dirigir las mejores prácticas eficientemente ayuda a reducir el número de virus bug mientras que el marco de tratamiento de error permite la recuperación de errores en tiempo de ejecución, tales como el funcionamiento de memoria, la batería baja o la caída de un enlace de comunicaciones. Reduciendo la posibilidad de que el usuario escriba código, el sistema entero adquiere robustez. Idealmente, el núcleo, con su código privilegiado, debería ser pequeño. Los servidores del sistema que funcionan sin privilegio especial deben manejar gran parte de la funcionalidad manejada convencionalmente por los drivers de dispositivo. Se necesita un sistema de gestión eficaz de la memoria para prevenir las pérdidas de memoria. Los recursos del sistema deben liberarse tan pronto como ya no sean necesarios y un marco de tratamiento de errores eficaz y fácil de utilizar debe manejar errores “fuera-de-memoria” correctamente. Para los sistemas que nunca se cierran y no pueden ser reanudados totalmente, guardar un camino exacto de recursos marca la diferencia entre el funcionamiento máximo en todo momento y la degradación lenta a tiempo parcial, o total, carente de utilidad. Las aplicaciones y los módulos del sistema que asignan bloques de memoria deben considerar la posibilidad de que ninguno esté disponible. La programación defensiva tiene que ser aplicada desde el sistema operativo a través del nivel de aplicación. Sin embargo, la fiabilidad no es suficiente para hacer buenos productos. El diseño guiado por el consumidor es también necesario, donde: • Las aplicaciones del producto se aprovechan de las características únicas del teléfono móvil además de su entorno. • Los productos se deben diseñar para resolver la utilidad actual y los progresos futuros en la tecnología inalámbrica. • La consistencia del estilo es importante - que una característica sea demasiado compleja de utilizar, no puede justificar el tiempo que tomó para desarrollarse o el espacio que ocupa en el dispositivo. • Un sistema operativo apuntado en los teléfonos móviles debe apoyar estos principales del diseño ofreciendo un de alto nivel de la integración con la comunicación y la funcionalidad personal de la gerencia de información (PIM). El OS de Zumbían combina alto middleware de la funcionalidad con comunicaciones sin hilos superiores a través de una caja integrada y la integración de Java y de la funcionalidad de PIM (agenda y los contactos). Conectividad Acceder a información remota, enviar e-mail o sincronizar calendario requiere algún tipo de conexión. Las necesidades de la movilidad hacen evidente y preferible el uso de una conexión sin hilos ya sea para una área extensa como para una área personal (Bluetooth) la conectividad sin hilos es desigual, pudiendo provocar cortes o perdidas de cobertura parcial para todos los tipos de protocolos que existen en el mundo (especialmente en áreas remotas, edificios, o durante viajes aéreos. Por lo que es imprudente confiar en una conexión móvil permanente) y siempre será bastante más lenta que una conexión por cables. Un sistema operativo debe tener esto en cuenta para aplicar un servicio rico que este diseñado para ser manipulado por el usuario incluso cuando no exista conexión. En resumen el sistema móvil debe funcionar como un cliente “avanzado”, no como uno simple, siendo soportable por el sistema operativo. Debe existir un transición constante entre información que tenemos en la red i nuestro dispositivo móvil. La conectividad requiere un sistema operativo propiamente multi-tarea, la comunicación en tiempo real i un rico conjunto de protocolos. Además de los requerimientos en “tiempo real” para mantener conexiones, el sistema operativo debe proporcionar mecanismos para manejar conexiones caídas de forma correcta e informar al usuario de forma apropiada. Para proporcionar una transmisión plana i para poder apoyarse en estándares próximos (como la tercera generación W-CDMA y su evolución), los programadores de Internet deben abstraer la programación de tal manera que el nivel de aplicación de interfaz sea consistente sin importar el tipo de protocolo que estemos usando. Los sistema operativo debe tener un rico conjuntos de API’s para asegurarse de que las aplicaciones pueden beneficiarse completamente de las posibilidades de conectividad y adaptarse fácilmente para aprovecharse de nuevos protocolos mientras que se ponen en ejecución. Diversidad de producto Existe una contradicción evidente entre los desarrolladores de software, quienes quieren desarrollar para una única plataforma importante y los fabricantes que cada uno quiere tener una gama de productos distintivos e innovadores. El círculo puede ser ajustado separando la interfaz del usuario de la base del sistema operativo. Los teléfonos móviles o los “smarphones avanzados” aparecerán en distintas formas. De los diseños tradicionales que se asemejan a los teléfonos móviles de hoy con un teclado numérico del tipo teléfono, a unos con forma de tableta que funcionan con el lápiz táctil con una pantalla más grande i un teclado más pequeño. Los distintos mecanismos de entrada de datos i factores de la forma influencian en gran medida el uso primario de los dispositivos. Con una pantalla pequeña i un teclado numérico el uso principal que obtiene es el de llamadas de voz. Con los lápices táctiles, es práctico para hojear pero no es no obstante una entrada de datos. Un teclado es obviamente el mecanismo más práctico para incorporar una cantidad grande de datos. Estas distinciones implican que las interfaces del usuario dependen en última instancia del dispositivo y del mercado. La diferenciación del producto no es apenas una cuestión de diseño del sistema operativo. El vendedor del sistema operativo debe permitir libertad en sus licencias para poder innovar i desarrollar nuevas líneas de producto. Esta es una característica dominante de su modelo comercial. Para apoyar las distintas familias de teléfonos y así para maximizar la reutilización del código, Symbian se centra en un código común: El Symbian OS, que incluye un multithreaded multitarea, un framework de interfaz de usuario, habilitadores de servicios de datos, desarrollo de aplicaciones, funcionalidad de PIM integrada y comunicaciones sin hilos. Las licencias concedidas son también participantes activos en el desarrollo del software, creando una organización grande de desarrollo para ampliar el Symbian OS. Esto da lugar a millares de desarrolladores entre los concesionarios de las distintas licencias y los socios que tienen acceso al código de fuente y que se aseguran que Symbian OS sigue siendo un “estándar abierto y avanzado”. Esta estrategia se asegura que los fabricantes de teléfono de Symbian OS puedan crear productos altamente distinguidos mientras sigan compartiendo la plataforma tecnológica i manteniendo el nivel de aprendizaje al mínimo. Plataforma abierta Un sistema operativo para el mercado debe ser abierto para el desarrollo de una tercera persona, los vendedores de software independientes, departamentos de investigación IT, operadores de red y licencias de Symbian. Esto implica un nivel de conocimientos adecuado, idiomas de programación tales como C++ y Java, junto con SDKs, herramientas, documentación, libros, ayuda técnica y entrenamiento. El Symbian OS tiene un rico sistema de APIs para que los desarrolladores independientes, los socios y los concesionarios de licencias de software escriban sus propias aplicaciones. Aunque los teléfonos móviles son pequeños y portátiles, pueden ofrecer las facilidades tan ricas como las propias computadoras de sobremesa, además de funciones básicas tales como comunicación de la voz y de datos. El sistema operativo tiene que soportar ambos paradigmas de computación móvil, i los desarrolladores tendrán que tener un conocimiento de ambos. Para reducir el tiempo de salida al mercado, los desarrolladores deben obtener un alto nivel de conocimientos en el menor tiempo posible. Es necesario el conocimiento que pueden adquirir o saber ya de las distintas fuentes. Los estándares también hacen que la plataforma sea más abierta y por lo tanto atraer más desarrolladores. Estándares tradicionales tales como Unicode, un POSIX API, y Java son una necesidad, pero para que un sistema operativo tome su lugar y este conectado con el resto del mundo, los estándares abiertos tales como TCP/IP, POP3, IMAP4, el SMTP, SMS, MMS, Bluetooth, OBEX, WAP, el yo-modo, Java y SyncML deben ser también soportados. Symbian ha confiado en socios principales en el mercado del teléfono móvil y participa activamente en organizaciones de estándares (tales como la alianza móvil abierta y el proceso de la comunidad de Java). Con éstos, Symbian tiene conocimiento anticipado de las tecnologías futuras y puede probar el Symbian OS con varios sistemas de teléfono. Esto asegura la estabilidad y un lugar en el futuro para el Symbian OS. Además, un framework de interfaz de usuario, un servicio de datos temporales y motores de funcionamiento proporcionan una base sólida para los objetivos de los desarrolladores de aplicaciones. 4.2. NECESIDAD DE UN SO DIFERENTE El sistema operativo debe ser compacto para caber en la memoria limitada de un teléfono móvil. Sin embargo, como hemos visto, debe proporcionar una variedad de funciones, y responder a la demanda de las comunicaciones avanzadas de redes de 2.G y 3G. El sistema operativo de un dispositivo móvil no es un sistema reducido, sino un sistema diferente. Symbian OS está dedicado y diseñado para los dispositivos móviles y a resolver los requerimientos del mercado de la telefonía móvil. Redes conmutadas de paquetes La introducción de las redes conmutadas de paquetes de 2.5G y 3G que promete dispositivos de conexión permanente, ha aumentado mucho la expectativa. Los operadores de redes han pagado grandes sumas por las licencias de 3G, y después de las pruebas, se ha retrasado la comercialización de los sistemas de 3G, y están obligados a encontrar nuevas formas en las nuevas redes. Bajo estas condiciones, los operadores de redes requieren un sistema operativo avanzado, capaz de adaptar en la evolución de aplicaciones y servicios, desde los teléfonos móviles de hoy de las redes conmutadas de circuitos de 2G, hasta los de las redes conmutadas de paquetes de 2.5G, 3G… El cambio fundamental de los teléfonos móviles en las nuevas redes de comunicación es la conexión permanente de los IPs (Internet Protocol). La idea fue introducida en las redes de la generación 2.5G, donde permite aplicaciones y servicios totalmente innovados. Y en las redes de la tercera generación (3G), tenemos más velocidades de transmisión y más ancho de banda, y podemos ofrecer a los usuarios servicios más sofisticados y variados que se adopten a las necesidades particulares. La evolución de las redes basadas en IP será gradual. En principio, la transmisión de voz será solamente por conmutación de circuitos mientras la de los datos por redes basadas en IPv4. Las conexiones de múltiples paquetes concurrentes de datos serán implementadas sobre redes IP de 2.5G o 3G. Una etapa importante en esta evolución será la transición de IPv4 a IPv6, hará que cada teléfono móvil sea individualmente direccionable. Este cambio, conjuntamente con un avanzado sistema operativo de dispositivos móviles (Symbian OS), permitirá servicios avanzados de datos entre usuarios (user-to-user) entre otras aplicaciones. Actualmente, la mensajería es el servicio más importante en Europa y probablemente continuará siendo así en la primera fase de redes conmutadas de paquetes. La mensajería multimedia (MMS) es un buen ejemplo de un servicio sobre redes de conmutación de paquetes. MMS proporciona la capacidad de enviar el rico contenido multimedia a los teléfonos móviles y MMS es una tecnología de 3G. Sin embargo, con el retraso de 3G, la introducción de MMS se ha adelantado en las redes de 2.5G, como por ejemplo, el WAP. Los mensajes MMS incluyen imágenes, gráficos y sonidos animados inicialmente, y posteriormente también formatos y contenidos más complejos como video. La complejidad y la riqueza de estos servicios requieren un sistema operativo de dispositivos móviles avanzado, abierto y estándar. Ventajas de Symbian Originalmente, Symbian está basado en IP, con funcionalidades para comunicaciones totalmente integradas. Las altas tasas de datos que ya se consiguen en móviles hace que en este sentido se parezcan a PCs, pero con las limitaciones que ya conocemos, como la pantalla pequeña, las capacidades de entrada limitadas, las conexiones intermitentes… Symbian es un robusto sistema multitarea, diseñado específicamente para entornos de comunicación sin hilos, y es ideal para hacer el conmutado de paquetes mientras mantiene una alta calidad en los servicios de voz. Los desarrolladores de Symbian lo amplían contribuyendo con código fuente mediante acuerdos de licencia, asegurando que el SO siga siendo un estándar abierto y en la vanguardia del desarrollo de las comunicaciones inalámbricas. Así, Symbian está en una posición única, preparado para afrontar los requerimientos tecnológicos del mercado y asegurando que las nuevas versiones son implementadas en el momento necesario. Debido a la continua evolución de la red de paquetes conmutados, con requerimientos que cambian continuamente, Symbian trabaja continuamente con nuevos estándares, como J2ME, Bluetooth, WAP, MMS, SyncML, IPv6 and WCDMA, tecnologías importantísimas para el entorno móvil. Symbian es abierto, modulable, bien construido y así puede responder a todos estos cambios. Así, Symbian se puede centrar en la esencia, sin tener que preocuparse demasiado de las innovaciones tecnológicas. 5. CONCLUSIÓN Las cinco características principales – 1.dispositivos móviles pequeños, 2.mercado masivo, 3.conectividad intermitente sin hilos, 4.diversidad de productos, 5.plataforma abierta para los desarrolladores independientes del software - son las ideas en las cuales Symbian OS fue diseñado y desarrollado. Esto lo hace distinto de cualquier otro sistema operativo de sus competidores, que no fueron diseñados con todos estos objetivos. Symbian está trabajando activamente con estándares abiertos como J2ME, Bluetooth, MMS, SyncML, IPv6 y WCDMA. Así como su propia organización de soporte desarrollador, libros, artículos y cursos, Symbian dirige una red global de sus centros de competencia o entrenamiento que están abiertos a otras organizaciones y desarrolladores que participan en la nueva economía. Symbian ha anunciado y ha puesto una estrategia en ejecución que funcionará en muchos teléfonos móviles. Los productos lanzados, por ejemplo el smartphone de Sony Ericsson P800, el communicator de Nokia 9200 y el NTT DoCoMo Fujitsu 2102V [2], demuestran la diversidad de los teléfonos móviles que se pueden crear con Symbian OS, así como BenQ Motorola, Panasonic, Samsung, Sendo y Siemens. Durante el año que viene, habrá una gama realmente amplia de los teléfonos móviles Symbian. REFERENCIAS http://www.symbian.com http://www.symbian.com/technology/technology.html http://www.uiq.com/ http://www.uiq.com/uiq/UIQProd.nsf/subs?openagent&mnu=1&show=Features