Symbian es un sistema operativo móvil (SO) y una plataforma informática descatalogados diseñados para teléfonos inteligentes . [6] Fue desarrollado originalmente como un software propietario OS para asistentes digitales personales en 1998 por el consorcio Symbian Ltd .. [7] Symbian OS es un descendiente del EPOC de Psion y se lanzó exclusivamente en procesadores ARM , aunque existía un puerto x86 inédito . Symbian fue utilizado por muchas marcas importantes de teléfonos móviles, como Samsung , Motorola , Sony Ericsson y, sobre todo, Nokia . También prevaleció en Japón marcas como Fujitsu , Sharp y Mitsubishi . Como pionero que estableció la industria de los teléfonos inteligentes, fue el sistema operativo para teléfonos inteligentes más popular en promedio a nivel mundial hasta finales de 2010, en un momento en que los teléfonos inteligentes tenían un uso limitado, cuando fue superado por iOS y Android . Fue notablemente menos popular en América del Norte.
La plataforma Symbian OS está formada por dos componentes: uno es el sistema operativo basado en microkernel con sus bibliotecas asociadas y el otro es la interfaz de usuario (como middleware ), que proporciona el shell gráfico encima del sistema operativo. [8] La interfaz de usuario más destacada fue la plataforma S60 (anteriormente Serie 60) construida por Nokia, lanzada por primera vez en 2002 y que alimenta la mayoría de los dispositivos Nokia Symbian. UIQ era una interfaz de usuario competitiva utilizada principalmente por Motorola y Sony Ericsson que se centraba en dispositivos basados en lápiz , en lugar de una interfaz de teclado tradicional del S60. Otra interfaz fue la plataforma MOAP (S) del operador NTT DoCoMo en el mercado japonés. [9] [10] Las aplicaciones de estas diferentes interfaces no eran compatibles entre sí, a pesar de que cada una de ellas estaba construida sobre el sistema operativo Symbian. Nokia se convirtió en el mayor accionista de Symbian Ltd. en 2004 y compró toda la empresa en 2008. [11] Luego se creó la Fundación Symbian, una organización sin fines de lucro , para convertirse en un sucesor libre de regalías de Symbian OS. Buscando unificar la plataforma, S60 se convirtió en la interfaz favorita de la Fundación y UIQ detuvo el desarrollo. Como resultado, en 2009 se creó el Symbian^1 (o S60 5.ª edición) con pantalla táctil. Symbian^2 (basado en MOAP) fue utilizado por NTT DoCoMo, uno de los miembros de la Fundación, para el mercado japonés . Symbian^3 se lanzó en 2010 como sucesor de S60 5.ª edición, momento en el que se convirtió en software totalmente gratuito . Se cree que la transición de un sistema operativo propietario a un proyecto de software libre es una de las más grandes de la historia. [12] Symbian^3 recibió las actualizaciones de Anna y Belle en 2011. [13] [14]
La Fundación Symbian se desintegró a finales de 2010 y Nokia recuperó el control del desarrollo del sistema operativo. [15] [16] En febrero de 2011, Nokia, para entonces la única compañía restante que todavía soportaba Symbian fuera de Japón, anunció que usaría Windows Phone 7 de Microsoft como su plataforma principal para teléfonos inteligentes, mientras que Symbian se iría liquidando gradualmente. [17] [18] Dos meses después, Nokia pasó el sistema operativo a una licencia patentada, colaborando únicamente con los fabricantes de equipos originales japoneses [19] y luego subcontrató el desarrollo de Symbian a Accenture . [6] [20] Aunque se prometió soporte hasta 2016, incluidas dos actualizaciones importantes planificadas, para 2012 Nokia había abandonado en gran medida el desarrollo y la mayoría de los desarrolladores de Symbian ya habían abandonado Accenture, [21] y en enero de 2014 Nokia dejó de aceptar software Symbian nuevo o modificado. de los desarrolladores. [22] El Nokia 808 PureView en 2012 fue oficialmente el último teléfono inteligente Symbian de Nokia. [23] NTT DoCoMo continuó lanzando dispositivos OPP(S) (Operator Pack Symbian, sucesor de MOAP) en Japón, que todavía actúan como middleware sobre Symbian. [24] Los teléfonos que ejecutan esto incluyen el F-07F de Fujitsu y el SH-07F de Sharp en 2014.
Symbian se originó a partir de EPOC32 , un sistema operativo creado por Psion en la década de 1990. En junio de 1998, Psion Software se convirtió en Symbian Ltd. , una importante empresa conjunta entre Psion y los fabricantes de teléfonos Ericsson , Motorola y Nokia .
Posteriormente se crearon diferentes plataformas de software para Symbian, respaldadas por diferentes grupos de fabricantes de teléfonos móviles. Incluyen S60 ( Nokia , Samsung y LG ), UIQ ( Sony Ericsson y Motorola ) y MOAP (S) (solo japoneses como Fujitsu , Sharp, etc.).
Sin competencia importante en el sistema operativo de teléfonos inteligentes en ese entonces ( Palm OS y Windows Mobile eran jugadores comparativamente pequeños), Symbian alcanzó hasta el 67% de la cuota de mercado mundial de teléfonos inteligentes en 2006. [25]
A pesar de su considerable participación de mercado en ese entonces, Symbian fue difícil de desarrollar en varias etapas: primero (alrededor de principios y mediados de la década de 2000) debido a la complejidad de los únicos lenguajes de programación nativos en ese momento, Open Programming Language (OPL) y Symbian C++ . y del SO; luego, la obstinada burocracia de los desarrolladores, junto con los altos precios de diversos entornos de desarrollo integrados (IDE) y kits de desarrollo de software (SDK), que eran prohibitivos para los desarrolladores independientes o muy pequeños; y luego la fragmentación posterior, que fue causada en parte por luchas internas entre y dentro de los fabricantes, cada uno de los cuales también tenía sus propios IDE y SDK. Todo esto desanimó a los desarrolladores externos y sirvió para que el ecosistema de aplicaciones nativas para Symbian no evolucionara a una escala alcanzada más tarde por la App Store de Apple o la Google Play de Android.
Por el contrario, iPhone OS (rebautizado iOS en 2010) y Android tenían un diseño comparativamente más simple, proporcionaban una infraestructura más sencilla y mucho más centralizada para crear y obtener aplicaciones de terceros, ofrecían ciertas herramientas de desarrollo y lenguajes de programación con un nivel de complejidad manejable y tenían capacidades como multitarea y gráficos para satisfacer las demandas futuras de los consumidores.
Aunque era difícil programar para Symbian, este problema se podía solucionar creando aplicaciones Java Mobile Edition, aparentemente bajo el lema "escribir una vez, ejecutar en cualquier lugar". [26] Este no siempre fue el caso debido a la fragmentación debido a los diferentes tamaños de pantalla de los dispositivos y las diferencias en los niveles de soporte de Java ME en varios dispositivos.
En junio de 2008, Nokia anunció la adquisición de Symbian Ltd. y se estableció una nueva organización independiente sin fines de lucro llamada Symbian Foundation . Symbian OS y sus interfaces de usuario asociadas S60 , UIQ y MOAP (S) fueron aportados por sus propietarios Nokia , NTT DoCoMo , Sony Ericsson y Symbian Ltd. a la fundación con el objetivo de crear la plataforma Symbian como una plataforma libre de regalías. , software libre , bajo la Licencia Pública Eclipse (EPL) aprobada por la Free Software Foundation (FSF) y la Open Source Initiative (OSI) . La plataforma fue designada como sucesora del sistema operativo Symbian, tras el lanzamiento oficial de la Fundación Symbian en abril de 2009. La plataforma Symbian estuvo oficialmente disponible como software libre en febrero de 2010. [27]
Nokia se convirtió en el principal contribuyente al código de Symbian, ya que entonces poseía los recursos de desarrollo tanto para el núcleo del sistema operativo Symbian como para la interfaz de usuario. Desde entonces, Nokia mantuvo su propio repositorio de código para el desarrollo de la plataforma, publicando periódicamente su desarrollo en el repositorio público. [28] Symbian estaba destinado a ser desarrollado por una comunidad liderada por la Fundación Symbian , que se anunció por primera vez en junio de 2008 y que se lanzó oficialmente en abril de 2009. Su objetivo era publicar el código fuente para toda la plataforma Symbian bajo la EPL. Esto se logró el 4 de febrero de 2010; La Fundación Symbian informó que este evento es la base de código más grande trasladada al software libre en la historia. [27] [29]
Sin embargo, algunos componentes importantes dentro del sistema operativo Symbian tenían licencia de terceros, lo que impidió que la fundación publicara la fuente completa bajo EPL de inmediato; en cambio, gran parte de la fuente se publicó bajo una licencia Symbian Foundation (SFL) más restrictiva y el acceso al código fuente completo se limitó únicamente a las empresas miembro, aunque la membresía estaba abierta a cualquier organización. [30] Además, el marco de software libre Qt se introdujo en Symbian en 2010, como la principal ruta de actualización para MeeGo , que iba a ser el próximo sistema operativo móvil en reemplazar y suplantar a Symbian en dispositivos de alta gama; Qt era por naturaleza gratuito y muy conveniente para desarrollar. Se implementaron varios otros marcos en la plataforma, entre ellos Standard C y C++, Python , Ruby y Adobe Flash Lite . Se desarrollaron IDE y SDK y luego se lanzaron de forma gratuita, y se aceleró el desarrollo de software de aplicaciones (aplicaciones) para Symbian.
En noviembre de 2010, la Fundación Symbian anunció que debido a los cambios en las condiciones económicas y de mercado globales (y también a la falta de apoyo de miembros como Samsung [31] y Sony Ericsson ), pasaría a ser una organización exclusivamente con licencia; [30] Nokia anunció que asumiría la gestión de la plataforma Symbian. La Fundación Symbian seguiría siendo el titular de la marca y la entidad otorgante de la licencia y solo tendría involucrados directores no ejecutivos.
Con una participación de mercado que cayó del 39% en el tercer trimestre de 2010 al 31% en el cuarto trimestre de 2010, [32] Symbian estaba perdiendo terreno frente a iOS y Android rápidamente, quedando finalmente detrás de Android en el cuarto trimestre de 2010. [33] Stephen Elop fue nombrado director ejecutivo de Nokia en septiembre de 2010, y el 11 de febrero de 2011, anunció una asociación con Microsoft que haría que Nokia adoptara Windows Phone como su principal plataforma de teléfonos inteligentes, [34] y Symbian sería eliminado gradualmente. , junto con MeeGo. [18] Como consecuencia, la cuota de mercado de Symbian cayó y los desarrolladores de aplicaciones para Symbian abandonaron rápidamente. Una investigación realizada en junio de 2011 indicó que más del 39% de los desarrolladores de dispositivos móviles que usaban Symbian en el momento de la publicación estaban planeando abandonar la plataforma. [35]
El 5 de abril de 2011, Nokia dejó de ofrecer de forma gratuita cualquier parte del software Symbian y redujo su colaboración a un pequeño grupo de socios preseleccionados en Japón. [5] El código fuente publicado bajo la EPL original permanece disponible en repositorios de terceros, [36] incluido un conjunto completo de todo el código público del proyecto al 7 de diciembre de 2010. [37]
El 22 de junio de 2011, Nokia llegó a un acuerdo con Accenture para un programa de subcontratación. Accenture proporcionará servicios de soporte y desarrollo de software basado en Symbian a Nokia hasta 2016. [20] La transferencia de empleados de Nokia a Accenture se completó el 30 de septiembre de 2011 y 2.800 empleados de Nokia se convirtieron en empleados de Accenture en octubre de 2011. [6]
Nokia puso fin a su soporte de desarrollo y mantenimiento de software para Symbian a partir del 1 de enero de 2014, posteriormente se negó a publicar aplicaciones o contenidos Symbian nuevos o modificados en la Tienda Nokia y puso fin a su programa 'Symbian Signed' para la certificación de software. [38]
Symbian ha tenido un conjunto de herramientas gráficas nativas desde sus inicios, conocido como AVKON (anteriormente conocido como Serie 60 ). El S60 fue diseñado para ser manipulado mediante una metáfora de interfaz similar a un teclado, como el teclado telefónico aumentado de ~15 teclas o los teclados mini-QWERTY. El software basado en AVKON es compatible binariamente con versiones de Symbian hasta Symbian^3 inclusive.
Symbian^3 incluye el marco Qt , que ahora es el conjunto de herramientas de interfaz de usuario recomendado para nuevas aplicaciones. Qt también se puede instalar en dispositivos Symbian más antiguos.
Se planeó que Symbian ^ 4 presentara un nuevo marco de biblioteca GUI diseñado específicamente para una interfaz táctil, conocido como "Extensiones de UI para dispositivos móviles" o UIEMO (nombre interno del proyecto "Orbit"), que se construyó sobre Qt Widget; Se lanzó una vista previa en enero de 2010, sin embargo, en octubre de 2010 Nokia anunció que Orbit/UIEMO había sido cancelado.
Posteriormente, Nokia recomendó que los desarrolladores usaran Qt Quick con QML , la nueva interfaz de usuario declarativa de alto nivel y marco de scripting para crear interfaces de pantalla táctil visualmente ricas que permitieron el desarrollo tanto para Symbian como para MeeGo ; se entregaría a los dispositivos Symbian^3 existentes como una actualización de Qt. A medida que más aplicaciones presenten gradualmente una interfaz de usuario reelaborada en Qt, el marco S60 heredado (AVKON) quedará obsoleto y ya no se incluirá con nuevos dispositivos en algún momento, rompiendo así la compatibilidad binaria con aplicaciones S60 más antiguas. [39] [40]
Symbian^3 y versiones anteriores tienen un navegador integrado basado en WebKit . Symbian fue la primera plataforma móvil en utilizar WebKit (en junio de 2005). [41] Algunos modelos Symbian más antiguos tienen Opera Mobile como navegador predeterminado.
Nokia lanzó un nuevo navegador con el lanzamiento de Symbian Anna con velocidad mejorada y una interfaz de usuario mejorada. [42]
Symbian contaba con un sólido soporte de localización que permitía a los fabricantes y desarrolladores de aplicaciones de terceros localizar productos basados en Symbian para respaldar la distribución global. Nokia puso a disposición los idiomas en el dispositivo, en paquetes de idiomas : un conjunto de idiomas que cubren los que se hablan comúnmente en el área donde se venderá una variante del dispositivo. Todos los paquetes de idiomas tienen inglés común o un dialecto local relevante del mismo. La última versión, Symbian Belle, admite estos 48 idiomas, con [dialectos] y (scripts):
Symbian Belle marca la introducción del kazajo, mientras que el coreano ya no es compatible.
A partir de 2010, Symbian pasó a utilizar C++ estándar con Qt como SDK principal, que se puede utilizar con Qt Creator o Carbide.c++ . Qt admite las versiones anteriores de Symbian/S60 3.ª (comenzando con Feature Pack 1, también conocido como S60 3.1) y Symbian/S60 5.ª edición (también conocido como S60 5.01b), así como la nueva plataforma Symbian. También es compatible con Maemo y MeeGo , Windows, Linux y Mac OS X. [43] [44]
El desarrollo de aplicaciones alternativas se puede realizar utilizando Python (consulte Python para S60 ), Adobe Flash Lite o Java ME .
Symbian OS utilizaba anteriormente una versión C++ específica de Symbian, junto con CodeWarrior y, posteriormente, el entorno de desarrollo integrado (IDE) Carbide.c++ , como entorno de desarrollo de aplicaciones nativo.
Web Run time (WRT) es un marco de aplicación portátil que permite crear widgets en la plataforma S60 ; Es una extensión del navegador basado en WebKit S60 que permite iniciar múltiples instancias del navegador como aplicaciones JavaScript separadas. [45] [46]
A partir de 2010, el SDK para Symbian es C++ estándar y utiliza Qt . Se puede utilizar con Qt Creator o Carbide (el IDE más antiguo utilizado anteriormente para el desarrollo de Symbian). [43] [47] Un simulador de teléfono permite probar aplicaciones Qt. Las aplicaciones compiladas para el simulador se compilan en código nativo para la plataforma de desarrollo, en lugar de tener que emularlas. [48] El desarrollo de aplicaciones puede utilizar C++ o QML .
Como Symbian OS está escrito en C++ utilizando los estándares de codificación del software Symbian, es posible desarrollarlo utilizando Symbian C++, aunque no es una implementación estándar. Antes del lanzamiento del Qt SDK, este era el entorno de desarrollo estándar. Había múltiples plataformas basadas en el sistema operativo Symbian que proporcionaban kits de desarrollo de software (SDK) para los desarrolladores de aplicaciones que deseaban apuntar a dispositivos con sistema operativo Symbian, siendo los principales UIQ y S60. Los productos telefónicos individuales, o familias, a menudo también tenían SDK o extensiones de SDK que se podían descargar desde el sitio web del fabricante.
Los SDK contienen documentación, los archivos de encabezado y los archivos de biblioteca necesarios para crear el software del sistema operativo Symbian y un emulador basado en Windows ("WINS"). Hasta la versión 8 de Symbian OS, los SDK también incluían una versión del compilador GNU Compiler Collection (GCC) (un compilador cruzado ) necesario para crear software que funcione en el dispositivo.
Symbian OS 9 y la plataforma Symbian utilizan una nueva interfaz binaria de aplicación (ABI) y necesitaban un compilador diferente. Hay disponible una selección de compiladores, incluida una versión más reciente de GCC (consulte los enlaces externos a continuación).
La programación en Symbian C++ tiene una curva de aprendizaje pronunciada , ya que Symbian C++ requiere el uso de técnicas especiales como descriptores, objetos activos y la pila de limpieza. Esto puede hacer que incluso programas relativamente simples sean inicialmente más difíciles de implementar que en otros entornos. Es posible que las técnicas, desarrolladas para el hardware móvil y los compiladores mucho más restringidos de la década de 1990, causaran una complejidad adicional en el código fuente porque se requiere que los programadores se concentren en detalles de bajo nivel en lugar de características más específicas de la aplicación. A partir de 2010, estos problemas ya no ocurren cuando se usa C++ estándar, con Qt SDK.
La programación en Symbian C++ se realiza comúnmente con un entorno de desarrollo integrado (IDE). Para versiones anteriores de Symbian OS, se favoreció el IDE comercial CodeWarrior para Symbian OS. Las herramientas CodeWarrior fueron reemplazadas durante 2006 por Carbide.c++ , un IDE basado en Eclipse desarrollado por Nokia. Carbide.c++ se ofrece en cuatro versiones diferentes: Express, Developer, Professional y OEM, con niveles crecientes de capacidad. Se puede crear y publicar software con todas las funciones con la edición Express, que es gratuita. Funciones como el diseño de la interfaz de usuario, la depuración de fallos, etc. están disponibles en las otras ediciones de pago. Microsoft Visual Studio 2003 y 2005 también son compatibles mediante el complemento Carbide.vs .
Los dispositivos Symbian también se pueden programar usando Python , Java ME , Flash Lite , Ruby , .NET , Web Runtime (WRT) Widgets y Standard C / C++ . [49]
Los programadores de Visual Basic pueden utilizar NS Basic para desarrollar aplicaciones para dispositivos S60 3rd Edition y UIQ 3.
En el pasado, el desarrollo de Visual Basic , Visual Basic .NET y C# para Symbian era posible a través de AppForge Crossfire, un complemento para Microsoft Visual Studio. El 13 de marzo de 2007, AppForge cesó sus operaciones; Oracle compró la propiedad intelectual, pero anunció que no planeaba vender ni brindar soporte para los productos anteriores de AppForge. Net60, un marco compacto .NET para Symbian, desarrollado por redFIVElabs, se vende como producto comercial. Con Net60, VB.NET y C# (y otros), el código fuente se compila en un lenguaje intermedio (IL) que se ejecuta dentro del sistema operativo Symbian utilizando un compilador justo a tiempo. (A partir del 18 de enero de 2010, RedFiveLabs dejó de desarrollar Net60 con este anuncio en su página de inicio: "En esta etapa estamos buscando algunas opciones para vender la propiedad intelectual para que Net60 pueda seguir teniendo futuro").
También existe una versión de Borland IDE para Symbian OS. El desarrollo de Symbian también es posible en Linux y macOS utilizando herramientas y métodos desarrollados por la comunidad, en parte habilitados porque Symbian publica el código fuente de herramientas clave. Estaba disponible un complemento que permite el desarrollo de aplicaciones del sistema operativo Symbian en el IDE Xcode de Apple para Mac OS X. [50]
Las aplicaciones Java ME para Symbian OS se desarrollan utilizando técnicas y herramientas estándar como Sun Java Wireless Toolkit (anteriormente J2ME Wireless Toolkit). Están empaquetados como archivos JAR (y posiblemente JAD). Tanto las aplicaciones CLDC como CDC se pueden crear con NetBeans . Otras herramientas incluyen SuperWaba , que se puede utilizar para crear programas Symbian 7.0 y 7.0 utilizando Java.
Los teléfonos Nokia S60 también pueden ejecutar scripts de Python cuando el intérprete Python para S60 está instalado, con una API personalizada que permite compatibilidad con Bluetooth y demás. También hay una consola interactiva que permite al usuario escribir scripts de Python directamente desde el teléfono.
Una vez desarrolladas, las aplicaciones Symbian necesitan encontrar una ruta hacia los teléfonos móviles de los clientes. Están empaquetados en archivos SIS que pueden instalarse de forma inalámbrica, mediante conexión a una PC, Bluetooth o en una tarjeta de memoria. Una alternativa es asociarse con un fabricante de teléfonos e incluir el software en el propio teléfono. Las aplicaciones deben estar firmadas por Symbian para Symbian OS 9.x para hacer uso de ciertas capacidades (capacidades del sistema, capacidades restringidas y capacidades del fabricante del dispositivo). [51] Las solicitudes podrían firmarse de forma gratuita en 2010. [52]
El diseño de Symbian se subdivide en dominios tecnológicos , [53] cada uno de los cuales comprende un conjunto de paquetes de software . [54] Cada dominio tecnológico tiene su propia hoja de ruta, y la Fundación Symbian tiene un equipo de administradores de tecnología que administran estas hojas de ruta de dominios tecnológicos.
Cada paquete se asigna exactamente a un dominio tecnológico, basándose en el área funcional general a la que contribuye el paquete y por la cual puede verse influenciado. Al agrupar paquetes relacionados por temas, la Fundación Symbian espera alentar la formación de una comunidad fuerte en torno a ellos y generar discusión y revisión.
El modelo del sistema Symbian [55] ilustra el alcance de cada uno de los dominios tecnológicos en los paquetes de plataforma.
Los paquetes son propiedad y están mantenidos por el propietario del paquete, una persona designada por una organización miembro de la Fundación Symbian, que acepta contribuciones de código de la comunidad Symbian en general y es responsable del paquete.
El kernel Symbian ( EKA2 ) admite una respuesta en tiempo real lo suficientemente rápida como para construir un teléfono de un solo núcleo a su alrededor, es decir, un teléfono en el que un solo núcleo de procesador ejecuta tanto las aplicaciones de usuario como la pila de señalización . [56] El kernel en tiempo real tiene una arquitectura de microkernel que contiene solo las primitivas y funcionalidades mínimas y más básicas, para una máxima robustez, disponibilidad y capacidad de respuesta. Se le ha denominado nanokernel porque necesita un kernel extendido para implementar otras abstracciones. Contiene un programador , administración de memoria y controladores de dispositivos , con servicios de soporte de redes , telefonía y sistema de archivos en la capa de servicios del sistema operativo o la capa de servicios base. La inclusión de controladores de dispositivos significa que el kernel no es un verdadero microkernel.
Symbian presenta protección de memoria y multitarea preventiva , al igual que otros sistemas operativos (especialmente aquellos creados para su uso en computadoras de escritorio). El enfoque de EPOC hacia la multitarea se inspiró en VMS y se basa en eventos asincrónicos basados en servidor.
Symbian OS fue creado teniendo en mente tres principios de diseño de sistemas:
Para seguir mejor estos principios, Symbian utiliza un microkernel , tiene un enfoque de solicitud y devolución de llamada para los servicios y mantiene la separación entre la interfaz de usuario y el motor. El sistema operativo está optimizado para dispositivos basados en baterías de bajo consumo y para sistemas basados en memoria de sólo lectura (ROM) (por ejemplo, funciones como XIP y reentrada en bibliotecas compartidas). El sistema operativo y el software de aplicación siguen un diseño de programación orientado a objetos denominado modelo-vista-controlador (MVC).
Las iteraciones posteriores del sistema operativo diluyeron este enfoque en respuesta a las demandas del mercado, en particular con la introducción de un kernel en tiempo real y un modelo de seguridad de plataforma en las versiones 8 y 9.
Hay un fuerte énfasis en la conservación de recursos, lo que se ejemplifica con modismos de programación específicos de Symbian, como descriptores y una pila de limpieza . Existen métodos similares para conservar espacio de almacenamiento. Además, toda la programación de Symbian se basa en eventos y la unidad central de procesamiento (CPU) se cambia a un modo de bajo consumo cuando las aplicaciones no se ocupan directamente de un evento. Esto se hace mediante un lenguaje de programación llamado objetos activos . De manera similar, el enfoque de Symbian hacia los subprocesos y procesos se basa en la reducción de los gastos generales.
El modelo completo contiene las siguientes capas, de arriba a abajo:
La capa de servicios básicos es el nivel más bajo al que pueden alcanzar las operaciones del lado del usuario; incluye el servidor de archivos y la biblioteca de usuario, un marco de complementos que gestiona todos los complementos, el almacén, el repositorio central, el DBMS y los servicios criptográficos. También incluye Text Window Server y Text Shell: los dos servicios básicos a partir de los cuales se puede crear un puerto completamente funcional sin necesidad de servicios de capa superior.
Symbian tiene una arquitectura de microkernel , lo que significa que lo mínimo necesario está dentro del kernel para maximizar la robustez, la disponibilidad y la capacidad de respuesta. Contiene un programador , administración de memoria y controladores de dispositivos, pero otros servicios como redes, telefonía y soporte de sistemas de archivos se ubican en la capa de servicios del sistema operativo o en la capa de servicios base. La inclusión de controladores de dispositivos significa que el kernel no es un verdadero microkernel. El kernel en tiempo real EKA2 , que ha sido denominado nanokernel , contiene sólo las primitivas más básicas y requiere un kernel extendido para implementar otras abstracciones.
Symbian está diseñado para enfatizar la compatibilidad con otros dispositivos, especialmente con sistemas de archivos multimedia extraíbles. El desarrollo inicial de EPOC llevó a la adopción de la Tabla de asignación de archivos (FAT) como sistema de archivos interno, y esto permanece, pero se colocó un modelo de persistencia orientado a objetos sobre la FAT subyacente para proporcionar una interfaz de estilo POSIX y un modelo de transmisión. Los formatos de datos internos dependen del uso de las mismas API que crean los datos para ejecutar todas las manipulaciones de archivos. Esto ha resultado en dependencia de los datos y dificultades asociadas con los cambios y la migración de datos .
Existe un gran subsistema de redes y comunicaciones, que cuenta con tres servidores principales denominados: ETEL (telefonía EPOC), ESOCK (zócalos EPOC) y C32 (responsable de la comunicación serie). Cada uno de estos tiene un esquema de complemento. Por ejemplo, ESOCK permite que diferentes módulos de protocolo ".PRT" implementen varios esquemas de protocolo de red. El subsistema también contiene código que admite enlaces de comunicación de corto alcance, como Bluetooth , IrDA y USB .
También hay un gran volumen de código de interfaz de usuario (UI). Sólo las clases base y la subestructura estaban contenidas en Symbian OS, mientras que la mayoría de las interfaces de usuario reales estaban mantenidas por terceros. Este ya no es el caso. Las tres UI principales (S60, UIQ y MOAP) se incorporaron a Symbian en 2009. Symbian también contiene bibliotecas de gráficos, diseño de texto y representación de fuentes.
Todas las aplicaciones nativas de Symbian C++ se construyen a partir de tres clases de marco definidas por la arquitectura de la aplicación: una clase de aplicación, una clase de documento y una clase de interfaz de usuario de la aplicación. Estas clases crean el comportamiento fundamental de la aplicación. Las funciones restantes necesarias, la vista de la aplicación, el modelo de datos y la interfaz de datos, se crean de forma independiente e interactúan únicamente a través de sus API con las otras clases.
Muchas otras cosas aún no encajan en este modelo; por ejemplo, SyncML , Java ME proporciona otro conjunto de API además de la mayoría de los sistemas operativos y multimedia . Muchos de estos son marcos, y se espera que los proveedores proporcionen complementos de terceros para estos marcos (por ejemplo, Helix Player para códecs multimedia ). Esto tiene la ventaja de que las API para dichas áreas de funcionalidad son las mismas en muchos modelos de teléfonos y que los proveedores obtienen mucha flexibilidad. Pero esto significa que los proveedores de teléfonos tuvieron que realizar una gran cantidad de trabajo de integración para crear un teléfono con sistema operativo Symbian.
Symbian incluye una interfaz de usuario de referencia llamada "TechView". Proporciona una base para iniciar la personalización y es el entorno en el que se ejecuta gran parte del código de ejemplo y de prueba de Symbian. Es muy similar a la interfaz de usuario del organizador personal Psion Series 5 y no se utiliza para ninguna interfaz de usuario de teléfono de producción.
Symbian, a medida que avanzaba hacia la versión 7.0 del sistema operativo, se dividió en varias interfaces gráficas de usuario diferentes , cada una respaldada por una determinada empresa o grupo de empresas. A diferencia de las GUI cosméticas del sistema operativo Android , las GUI de Symbian se denominan "plataformas" debido a modificaciones e integraciones más significativas. Las cosas se volvieron más complicadas cuando las aplicaciones desarrolladas para diferentes plataformas GUI de Symbian no eran compatibles entre sí, y esto llevó a la fragmentación del sistema operativo. [57]
Las plataformas de interfaces de usuario que se ejecutan o se basan en el sistema operativo Symbian incluyen:
* Fabricado por Fujitsu
† Fabricado por Sharp
▲ El servicio de actualización de software para teléfonos Nokia Belle y Symbian (S60) se suspendió a finales de diciembre de 2015.
En el primer trimestre de 2004 se comercializaron 2,4 millones de teléfonos Symbian, el doble que en el primer trimestre de 2003. Symbian Ltd. quedó particularmente impresionada por los avances realizados en Japón. [77]
Se enviaron 3,7 millones de dispositivos en el tercer trimestre de 2004, un crecimiento del 201% en comparación con el tercer trimestre de 2003 y la participación de mercado aumentó del 30,5% al 50,2%. Sin embargo, en Estados Unidos fue mucho menos popular, con una cuota de mercado del 6% en el tercer trimestre de 2004, muy por detrás de Palm OS (43%) y Windows Mobile (25%). Esto se ha atribuido a que los clientes norteamericanos prefieren las PDA inalámbricas a los teléfonos inteligentes, así como a la baja popularidad de Nokia allí. [78]
El 16 de noviembre de 2006, se envió el teléfono inteligente número 100 millones con este sistema operativo. [79] Al 21 de julio de 2009, se habían producido más de 250 millones de dispositivos con sistema operativo Symbian. [80]
En 2006, Symbian tenía el 73% del mercado de teléfonos inteligentes, [81] en comparación con el 22,1% del mercado en el segundo trimestre de 2011. [82]
A finales de mayo de 2006, se vendieron 10 millones de teléfonos con Symbian en Japón, lo que representa el 11% del total de envíos mundiales de Symbian de 89 millones. [83] En noviembre de 2007 la cifra era de 30 millones, alcanzando una cuota de mercado del 65 por ciento en junio de 2007 en el mercado japonés. [84]
Symbian ha perdido participación de mercado a lo largo de los años a medida que el mercado ha crecido dramáticamente, con nuevas plataformas competidoras ingresando al mercado, aunque sus ventas han aumentado durante el mismo período. Por ejemplo, aunque la participación de Symbian en el mercado mundial de teléfonos inteligentes cayó del 52,4% en 2008 al 47,2% en 2009, los envíos de dispositivos Symbian crecieron un 4,8%, de 74,9 millones de unidades a 78,5 millones de unidades. [85] Del segundo trimestre de 2009 al segundo trimestre de 2010, los envíos de dispositivos Symbian crecieron un 41,5 por ciento, en 8,0 millones de unidades, de 19.178.910 unidades a 27.129.340; en comparación con un aumento de 9,6 millones de unidades para Android, 3,3 millones de unidades para RIM y 3,2 millones de unidades para Apple. [86]
Informes anteriores sobre envíos de dispositivos publicados en febrero de 2010 mostraron que los dispositivos Symbian representaron una participación del 47,2% de los dispositivos móviles inteligentes enviados en 2009, con RIM teniendo el 20,8%, Apple con el 15,1% (a través de iOS ), Microsoft con el 8,8% (a través de Windows CE y Windows Mobile ) y Android con un 4,7%. [85]
En cuanto al número de ventas de "dispositivos móviles inteligentes", los dispositivos Symbian fueron los líderes del mercado en 2010. Las estadísticas muestran que los dispositivos Symbian representaron el 37,6% de los dispositivos móviles inteligentes vendidos, con Android con el 22,7%, RIM con el 16% y Apple con 15,7% (a través de iOS ). [87] Algunas estimaciones indican que el número de dispositivos móviles enviados con el sistema operativo Symbian hasta finales del segundo trimestre de 2010 es de 385 millones. [88]
En el transcurso de 2009-2010, Motorola , Samsung , LG y Sony Ericsson anunciaron su retirada de Symbian en favor de plataformas alternativas, incluidas Android de Google y Windows Phone de Microsoft . [89] [90] [91] [92]
En el segundo trimestre de 2012, según IDC, la cuota de mercado mundial cayó a un mínimo histórico del 4,4%. [93]
Los usuarios de Symbian en países con alfabetos no latinos (como Rusia, Ucrania y otros) llevan muchos años criticando el complicado método de cambio de idioma. [94] Por ejemplo, si un usuario desea escribir una letra latina, debe llamar al menú, hacer clic en el elemento de idiomas, usar las teclas de flecha para elegir, por ejemplo, el idioma inglés entre muchos otros idiomas y luego presionar el botón ' Botón "Aceptar". Luego de escribir la letra latina, el usuario deberá repetir el procedimiento para regresar a su teclado nativo. Este método ralentiza significativamente la escritura. En los teléfonos táctiles y QWERTY el procedimiento es ligeramente diferente pero requiere mucho tiempo. Todos los demás sistemas operativos móviles, así como los teléfonos Nokia S40, permiten cambiar entre dos idiomas inicialmente seleccionados con un clic o un solo gesto.
Las primeras versiones del firmware para el Nokia N97 original , que se ejecuta en Symbian^1/Series 60 5th Edition, han sido fuertemente criticadas por tener errores (también contribuido por la baja cantidad de RAM instalada en el teléfono). [95]
En noviembre de 2010, el blog de teléfonos inteligentes All About Symbian criticó el rendimiento del navegador web predeterminado de Symbian y recomendó el navegador alternativo Opera Mobile . [96] El vicepresidente senior de Nokia, Jo Harlow, prometió un navegador actualizado en el primer trimestre de 2011. [97]
Hay muchas versiones y ediciones diferentes de Symbian, lo que provocó fragmentación. Las aplicaciones y el software pueden ser incompatibles cuando se instalan en diferentes versiones de Symbian. [98]
Symbian OS está sujeto a una variedad de virus, el más conocido de los cuales es Cabir . Normalmente estos se envían de un teléfono a otro mediante Bluetooth. Hasta ahora, ninguno ha aprovechado ningún defecto del sistema operativo Symbian. En lugar de ello, todos han preguntado al usuario si desean instalar el software, con advertencias un tanto destacadas de que no se puede confiar en él, aunque algunos se basan en la ingeniería social , a menudo en forma de mensajes que vienen con el malware: software fraudulento que pretende ser una utilidad, juego o alguna otra aplicación para Symbian.
Sin embargo, con el objetivo de que el usuario promedio de teléfonos móviles no debería tener que preocuparse por la seguridad, Symbian OS 9.x adoptó un modelo de capacidad estilo Unix (permisos por proceso, no por objeto). En teoría, el software instalado no puede hacer cosas dañinas (como costarle dinero al usuario al enviar datos de red) sin estar firmado digitalmente, lo que lo hace rastreable. Los desarrolladores comerciales que puedan pagar el costo pueden solicitar que su software sea firmado a través del programa Symbian Signed. Los desarrolladores también tienen la opción de autofirmar sus programas. Sin embargo, el conjunto de funciones disponibles no incluye acceso a Bluetooth, IrDA, GSM CellID, llamadas de voz, GPS y algunos otros. Algunos operadores optaron por desactivar todos los certificados excepto los certificados firmados por Symbian.
Algunos otros programas hostiles se enumeran a continuación, pero todos ellos aún requieren la entrada del usuario para ejecutarse.
En la Conferencia Internacional sobre Malware celebrada en Malcon en diciembre de 2010, el hacker indio Atul Alex demostró una nueva forma de amenaza de malware para el sistema operativo Symbian en forma de 'firmware cocinado' . [99] [100]
Los dispositivos Symbian OS 9.x se pueden piratear para eliminar la seguridad de la plataforma introducida en OS 9.1 y posteriores, lo que permite a los usuarios ejecutar código sin firmar. [101] Esto permite alterar archivos del sistema y acceder a áreas del sistema operativo previamente bloqueadas. Nokia criticó el hack por aumentar potencialmente la amenaza que suponen los virus móviles, ya que se puede ejecutar código sin firmar . [102]
{{cite web}}
: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace ). blog.symbian.org. 16 de abril de 2009{{cite web}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace ){{cite web}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace ){{cite web}}
: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace ). H-online.com (8 de diciembre de 2010). Consultado el 25 de septiembre de 2011.{{cite web}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace )