Symbian fue un sistema operativo móvil (SO) y una plataforma informática diseñada para teléfonos inteligentes . [6] Fue desarrollado originalmente como un sistema operativo de software propietario para asistentes digitales personales en 1998 por el consorcio Symbian Ltd. [7] Symbian OS es un descendiente de EPOC de Psion , y fue lanzado exclusivamente en procesadores ARM , aunque existía un puerto x86 inédito . Symbian fue utilizado por muchas de las principales marcas de teléfonos móviles, como Samsung , Motorola , Sony Ericsson y, sobre todo, por Nokia . También prevaleció en Japón por 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 mundial hasta fines 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 sobre el 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 impulsa 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 de S60. Otra interfaz era la plataforma MOAP (S) del operador NTT DoCoMo en el mercado japonés. [9] [10] Las aplicaciones para estas diferentes interfaces no eran compatibles entre sí, a pesar de que cada una estaba construida sobre Symbian OS. 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 sin fines de lucro para hacer un sucesor libre de regalías para Symbian OS. En un intento por unificar la plataforma, S60 se convirtió en la interfaz favorita de la Fundación y UIQ detuvo su desarrollo. Como resultado, en 2009 se creó Symbian^1 (o S60 5th Edition), centrado en la 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 fue lanzado en 2010 como sucesor de S60 5th Edition, momento en el que se convirtió en software completamente libre . 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 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 empresa restante que todavía apoyaba a Symbian fuera de Japón, anunció que utilizaría Windows Phone 7 de Microsoft como su plataforma principal para teléfonos inteligentes, mientras que Symbian se reduciría gradualmente. [17] [18] Dos meses después, Nokia trasladó el sistema operativo a una licencia propietaria, colaborando únicamente con los OEM japoneses [19] y más tarde subcontrató el desarrollo de Symbian a Accenture . [6] [20] Aunque se prometió soporte hasta 2016, incluidas dos importantes actualizaciones planificadas, en 2012 Nokia había abandonado en su mayoría 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 aún 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, entre ellas S60 ( Nokia , Samsung y LG ), UIQ ( Sony Ericsson y Motorola ) y MOAP (S) (solo en japonés, como Fujitsu , Sharp, etc.).
Sin una competencia importante en el sistema operativo de teléfonos inteligentes en ese momento ( Palm OS y Windows Mobile eran jugadores comparativamente pequeños), Symbian alcanzó hasta el 67% de la participación de mercado global de teléfonos inteligentes en 2006. [25]
A pesar de su considerable cuota de mercado en aquel momento, Symbian resultó en varias etapas difícil de desarrollar: primero (aproximadamente a principios y mediados de la década de 2000) debido a la complejidad de los únicos lenguajes de programación nativos de ese momento, Open Programming Language (OPL) y Symbian C++ , y del sistema operativo; luego, la obstinada burocracia de los desarrolladores, junto con los altos precios de varios 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 los fabricantes y dentro de ellos, cada uno de los cuales también tenía sus propios IDE y SDK. Todo esto desanimó a los desarrolladores externos y sirvió para provocar que el ecosistema de aplicaciones nativas para Symbian no evolucionara a una escala alcanzada más tarde por la App Store de Apple o Google Play de Android.
En contraste, iPhone OS (rebautizado como iOS en 2010) y Android tenían un diseño comparativamente más simple, proporcionaban una infraestructura más fácil y mucho más centralizada para crear y obtener aplicaciones de terceros, ofrecían ciertas herramientas para desarrolladores y lenguajes de programación con un nivel manejable de complejidad y tenían capacidades como multitarea y gráficos para satisfacer las futuras demandas 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 causada por los diferentes tamaños de pantalla de los dispositivos y las diferencias en los niveles de compatibilidad con 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 software libre y sin regalías , 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 de Symbian OS, luego del lanzamiento oficial de la Symbian Foundation en abril de 2009. La plataforma Symbian se puso oficialmente a disposición como software libre en febrero de 2010. [27]
Nokia se convirtió en el principal colaborador del código de Symbian, ya que 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 regularmente 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 se lanzó oficialmente en abril de 2009. Su objetivo era publicar el código fuente de toda la plataforma Symbian bajo la EPL. Esto se logró el 4 de febrero de 2010; la Fundación Symbian informó que este evento fue la base de código más grande trasladada a software libre en la historia. [27] [29]
Sin embargo, algunos componentes importantes dentro de Symbian OS fueron licenciados por terceros, lo que impidió que la fundación publicara el código fuente completo bajo EPL inmediatamente; en su lugar, gran parte del código fuente se publicó bajo una Licencia Symbian Foundation (SFL) más restrictiva y el acceso al código fuente completo se limitó solo 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 ruta de actualización principal a MeeGo , que iba a ser el próximo sistema operativo móvil que reemplazaría y suplantaría 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 retomó el desarrollo de software de aplicación (app) 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 que sólo otorgaría licencias; [30] Nokia anunció que se haría cargo de la administración de la plataforma Symbian. La Fundación Symbian seguiría siendo la titular de la marca registrada y la entidad que otorgaría licencias y solo tendría directores no ejecutivos involucrados.
Con una cuota de mercado que se redujo 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 por 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 vería a Nokia adoptar Windows Phone como su plataforma principal para teléfonos inteligentes, [34] y Symbian se eliminaría gradualmente, junto con MeeGo. [18] Como consecuencia, la cuota de mercado de Symbian cayó y los desarrolladores de aplicaciones para Symbian se retiraron rápidamente. Una investigación de junio de 2011 indicó que más del 39% de los desarrolladores 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 liberar 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 sigue estando 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 firmó un acuerdo con Accenture para un programa de externalización. Accenture proporcionará servicios de desarrollo y soporte de software basados 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 pasaron a ser empleados de Accenture a partir de octubre de 2011. [6]
Nokia finalizó su soporte al desarrollo y mantenimiento de software para Symbian con efecto a partir del 1 de enero de 2014, negándose a publicar aplicaciones o contenidos nuevos o modificados de Symbian en la Tienda Nokia y dando por finalizado su programa "Symbian Signed" para la certificación de software. [38]
Symbian ha tenido un conjunto de herramientas gráficas nativas desde su creación, conocido como AVKON (antes conocido como Series 60 ). S60 fue diseñado para ser manipulado por una metáfora de interfaz similar a un teclado, como el teclado telefónico aumentado de ~15 teclas o los mini teclados QWERTY. El software basado en AVKON es compatible a nivel binario con las versiones de Symbian hasta Symbian^3 inclusive.
Symbian^3 incluye el framework Qt , que se convirtió en el conjunto de herramientas de interfaz de usuario recomendado para nuevas aplicaciones. Qt también se puede instalar en dispositivos Symbian más antiguos.
Symbian^4 fue planeado para introducir un nuevo marco de biblioteca GUI específicamente diseñado para una interfaz táctil, conocida como "UI Extensions for Mobile" o UIEMO (nombre interno del proyecto "Orbit"), que fue construida 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.
Más tarde, Nokia recomendó que los desarrolladores utilizaran Qt Quick con QML , el nuevo marco de trabajo de interfaz de usuario y scripting declarativo de alto nivel para crear interfaces de pantalla táctil visualmente ricas que permitían el desarrollo tanto para Symbian como para MeeGo ; se entregaría a los dispositivos Symbian^3 existentes como una actualización de Qt. Cuando más aplicaciones incorporen gradualmente una interfaz de usuario rediseñada en Qt, el marco de trabajo S60 heredado (AVKON) quedaría obsoleto y ya no se incluiría en los 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 más antiguos de Symbian 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 que pudieran ofrecer compatibilidad con la distribución global. Nokia puso a disposición del usuario 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 en común el inglés o un dialecto localmente relevante del mismo. La última versión, Symbian Belle, admite estos 48 idiomas, con [dialectos] y (escrituras):
Symbian Belle marca la introducción del kazajo, mientras que el coreano ya no recibe soporte.
A partir de 2010, Symbian pasó a utilizar el estándar C++ con Qt como SDK principal, que puede utilizarse tanto con Qt Creator como con Carbide.c++ . Qt es compatible con las versiones anteriores de Symbian/S60 3.ª edición (a partir del 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 con 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 (ver Python para S60 ), Adobe Flash Lite o Java ME .
Anteriormente, Symbian OS utilizaba una versión de 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 Runtime (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 ejecutar múltiples instancias del navegador como aplicaciones JavaScript independientes. [45] [46]
A partir de 2010, el SDK para Symbian es C++ estándar, utilizando 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 ser emuladas. [48] El desarrollo de aplicaciones puede utilizar C++ o QML .
Como Symbian OS está escrito en C++ utilizando los estándares de codificación de Symbian Software, es posible desarrollar 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 Symbian OS que proporcionaban kits de desarrollo de software (SDK) para desarrolladores de aplicaciones que deseaban trabajar con dispositivos Symbian OS, 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, archivos de encabezado y archivos de biblioteca necesarios para crear software para Symbian OS, 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 GCC (GNU Compiler Collection ) (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 aplicaciones (ABI) y necesitaban un compilador diferente. Hay una variedad de compiladores disponibles, 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 muy 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 los programas relativamente simples sean 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 los programadores deben concentrarse en detalles de bajo nivel en lugar de funciones más específicas de la aplicación. A partir de 2010, estos problemas ya no se dan cuando se usa C++ estándar, con el SDK de Qt.
La programación en C++ para Symbian se realiza habitualmente con un entorno de desarrollo integrado (IDE). Para las versiones anteriores de Symbian OS, se prefería 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 de capacidad cada vez mayores. Se puede crear y publicar software con todas las funciones con la edición Express, que es gratuita. Las 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 a través del complemento Carbide.vs .
Los dispositivos Symbian también se pueden programar utilizando Python , Java ME , Flash Lite , Ruby , .NET , Web Runtime (WRT) Widgets y C / C++ estándar . [49]
Los programadores de Visual Basic pueden usar 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 un 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 ha dejado 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 un 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 gracias a que Symbian ha liberado el código fuente de las herramientas clave. Había disponible un complemento que permite el desarrollo de aplicaciones de Symbian OS 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). Se empaquetan como archivos JAR (y posiblemente JAD). Tanto las aplicaciones CLDC como las CDC se pueden crear con NetBeans . Otras herramientas incluyen SuperWaba , que se puede utilizar para crear programas Symbian 7.0 y 7.0s utilizando Java.
Los teléfonos Nokia S60 también pueden ejecutar scripts de Python cuando se instala el intérprete Python para S60 , 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. Se empaquetan en archivos SIS que pueden instalarse de forma inalámbrica, mediante conexión a PC, Bluetooth o en una tarjeta de memoria. Una alternativa es asociarse con un fabricante de teléfonos y tener el software incluido en el propio teléfono. Las aplicaciones deben estar firmadas por Symbian para Symbian OS 9.x para poder utilizar ciertas capacidades (capacidades del sistema, capacidades restringidas y capacidades del fabricante del dispositivo). [51] Las aplicaciones 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 gestionan estas hojas de ruta de dominios tecnológicos.
Cada paquete se asigna a exactamente un dominio tecnológico, en función del área funcional general a la que contribuye el paquete y por la que puede verse influenciado. Al agrupar los paquetes relacionados por temas, la Fundación Symbian espera fomentar la formación de una comunidad sólida en torno a ellos y generar debates y revisiones.
El modelo del sistema Symbian [55] ilustra el alcance de cada uno de los dominios tecnológicos en los paquetes de la plataforma.
Los paquetes son propiedad de un propietario del paquete y están mantenidos por él, una persona designada de una organización miembro de la Fundación Symbian, que acepta contribuciones de código de la comunidad Symbian más amplia y es responsable del paquete.
El núcleo 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 núcleo de tiempo real tiene una arquitectura de micronúcleo que contiene solo los primitivos y la funcionalidad mínimos y más básicos, para lograr la máxima robustez, disponibilidad y capacidad de respuesta. Se lo ha denominado nanonúcleo , porque necesita un núcleo extendido para implementar cualquier otra abstracción. 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 núcleo no es un verdadero micronúcleo.
Symbian ofrece funciones de multitarea preventiva y protección de memoria , al igual que otros sistemas operativos (especialmente aquellos creados para su uso en computadoras de escritorio). El enfoque de EPOC para la multitarea se inspiró en VMS y se basa en eventos asincrónicos basados en servidor.
El sistema operativo Symbian se creó con tres principios de diseño de sistemas en mente:
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 solo lectura (ROM) (por ejemplo, características como XIP y reentrada en bibliotecas compartidas). El sistema operativo y el software de aplicación siguen un diseño de programación orientada a objetos llamado 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.
Existe un fuerte énfasis en la conservación de recursos, lo que se ejemplifica con los lenguajes de programación específicos de Symbian, como los descriptores y una pila de limpieza. Existen métodos similares para conservar el 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 están tratando directamente con un evento. Esto se hace a través de un lenguaje de programación llamado objetos activos . De manera similar, el enfoque de Symbian para los subprocesos y procesos se basa en la reducción de los gastos generales.
El modelo All Over contiene las siguientes capas, de arriba a abajo:
La capa de servicios base es el nivel más bajo al que pueden acceder las operaciones del lado del usuario; incluye el servidor de archivos y la biblioteca de usuarios, un marco de complementos que administra todos los complementos, el almacén, el repositorio central, el DBMS y los servicios criptográficos. También incluye el servidor de ventanas de texto y el shell de texto: los dos servicios básicos a partir de los cuales se puede crear un puerto completamente funcional sin necesidad de servicios de capas superiores.
Symbian tiene una arquitectura de microkernel , lo que significa que el mínimo necesario está dentro del kernel para maximizar la robustez, la disponibilidad y la capacidad de respuesta. Contiene un planificador , administración de memoria y controladores de dispositivos, pero otros servicios como la red, la telefonía y el soporte del sistema de archivos se ubican 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. El kernel de tiempo real EKA2 , que se ha denominado nanokernel , contiene solo los primitivos más básicos y requiere un kernel extendido para implementar cualquier otra abstracción.
Symbian está diseñado para enfatizar la compatibilidad con otros dispositivos, especialmente con sistemas de archivos de medios extraíbles. El desarrollo temprano de EPOC condujo a la adopción de la Tabla de asignación de archivos (FAT) como sistema de archivos interno, y esto se mantiene, 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 se basan en el uso de las mismas API que crean los datos para ejecutar todas las manipulaciones de archivos. Esto ha dado como resultado la dependencia de los datos y las 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 (sockets EPOC) y C32 (responsable de la comunicación serial). Cada uno de estos tiene un esquema de plug-in. Por ejemplo, ESOCK permite que diferentes módulos de protocolo ".PRT" implementen varios esquemas de protocolo de redes. El subsistema también contiene código que soporta 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). Symbian OS solo contenía las clases base y la subestructura, mientras que la mayoría de las interfaces de usuario reales eran mantenidas por terceros. Esto ya no es así. Las tres principales IU (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 demás funciones 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 demás clases.
Muchas otras cosas aún no encajan en este modelo, por ejemplo, SyncML , Java ME que proporciona otro conjunto de API sobre la mayoría del sistema operativo y multimedia . Muchas de ellas son marcos de trabajo y se espera que los proveedores suministren complementos para estos marcos de trabajo de terceros (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éfono y que los proveedores obtienen mucha flexibilidad. Pero significa que los proveedores de teléfonos necesitaban hacer 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 denominada "TechView". Proporciona una base para iniciar la personalización y es el entorno en el que se ejecuta gran parte del código de prueba y de ejemplo de Symbian. Es muy similar a la interfaz de usuario del organizador personal Psion Series 5 y no se utiliza en ninguna interfaz de usuario de teléfono de producción.
Symbian, a medida que avanzaba hasta 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 conocen como "plataformas" debido a las modificaciones e integraciones más significativas. Las cosas se complicaron más cuando las aplicaciones desarrolladas para diferentes plataformas de GUI de Symbian no eran compatibles entre sí, y esto llevó a la fragmentación del sistema operativo. [57]
Las plataformas de interfaz de usuario que se ejecutan o se basan en Symbian OS incluyen:
* Fabricado por Fujitsu
† Fabricado por Sharp
▲ El servicio de actualización de software para teléfonos Nokia Belle y Symbian (S60) se discontinuará a fines de diciembre de 2015
En el primer trimestre de 2004 se enviaron 2,4 millones de teléfonos Symbian, el doble que en el primer trimestre de 2003. Symbian Ltd. quedó particularmente impresionada por el progreso realizado en Japón. [77]
En el tercer trimestre de 2004 se vendieron 3,7 millones de dispositivos, un crecimiento del 201% en comparación con el tercer trimestre de 2003 y una cuota de mercado que pasó 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 vendió el teléfono inteligente número 100 millones con sistema operativo Symbian. [79] Hasta el 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 habían vendido en Japón 10 millones de teléfonos con Symbian, lo que representa el 11% de los envíos mundiales totales de Symbian de 89 millones. [83] En noviembre de 2007, la cifra era de 30 millones, logrando una cuota de mercado del 65% en junio de 2007 en el mercado japonés. [84]
Symbian ha perdido cuota de mercado a lo largo de los años a medida que el mercado ha crecido drásticamente, con la entrada de nuevas plataformas competidoras, aunque sus ventas han aumentado durante el mismo período de tiempo. Por ejemplo, aunque la cuota de mercado 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] Desde el segundo trimestre de 2009 al segundo trimestre de 2010, los envíos de dispositivos Symbian crecieron un 41,5%, 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 representaban una participación del 47,2% de los dispositivos móviles inteligentes enviados en 2009, con RIM teniendo el 20,8%, Apple teniendo el 15,1% (a través de iOS ), Microsoft teniendo el 8,8% (a través de Windows CE y Windows Mobile ) y Android teniendo el 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 mostraron que los dispositivos Symbian representaron una participación del 37,6% de los dispositivos móviles inteligentes vendidos, con Android con un 22,7%, RIM con un 16% y Apple con un 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]
A lo largo de 2009-10, Motorola , Samsung , LG y Sony Ericsson anunciaron su retirada de Symbian en favor de plataformas alternativas, entre ellas 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) han criticado durante muchos años el complicado método de cambio de idioma. [94] Por ejemplo, si un usuario quiere escribir una letra latina, debe abrir el menú, hacer clic en el elemento de idiomas, utilizar las teclas de flecha para elegir, por ejemplo, el idioma inglés entre muchos otros idiomas y, a continuación, pulsar el botón "Aceptar". Después de escribir la letra latina, el usuario debe repetir el procedimiento para volver a su teclado nativo. Este método ralentiza considerablemente la escritura. En los teléfonos táctiles y los teléfonos QWERTY, el procedimiento es ligeramente diferente, pero sigue siendo lento. Todos los demás sistemas operativos móviles, así como los teléfonos S40 de Nokia, permiten cambiar entre dos idiomas seleccionados inicialmente con un solo clic o un solo gesto.
Las primeras versiones del firmware para el Nokia N97 original , que se ejecutaba en Symbian^1/Series 60 5th Edition, fueron duramente criticadas por tener errores (a lo que también contribuyó 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 sénior de Nokia, Jo Harlow, prometió un navegador actualizado en el primer trimestre de 2011. [97]
Existen 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]
El sistema operativo Symbian está sujeto a una variedad de virus, el más conocido de los cuales es Cabir . Por lo general, estos se envían de un teléfono a otro por Bluetooth. Hasta ahora, ninguno ha explotado fallas en el sistema operativo Symbian. En cambio, todos han preguntado al usuario si desea instalar el software, con advertencias bastante prominentes de que no se puede confiar en él, aunque algunos recurren a la ingeniería social , a menudo en forma de mensajes que vienen con el malware: software fraudulento que pretende ser una utilidad, un juego o alguna otra aplicación para Symbian.
Sin embargo, con la idea de que el usuario medio de un teléfono móvil no debería tener que preocuparse por la seguridad, Symbian OS 9.x adoptó un modelo de capacidad al estilo Unix (permisos por proceso, no por objeto). El software instalado es teóricamente incapaz de hacer cosas perjudiciales (como costarle dinero al usuario enviando datos de red) sin estar firmado digitalmente, lo que lo hace rastreable. Los desarrolladores comerciales que pueden permitirse el costo pueden solicitar que se firme su software a través del programa Symbian Signed. Los desarrolladores también tienen la opción de autofirmar sus programas. Sin embargo, el conjunto de características disponibles no incluye el acceso a Bluetooth, IrDA, GSM CellID, llamadas de voz, GPS y algunas otras. Algunos operadores optaron por desactivar todos los certificados que no sean los certificados Symbian Signed.
A continuación se enumeran algunos otros programas hostiles, pero todos ellos aún requieren la intervención del usuario para ejecutarse.
En la Conferencia Internacional sobre Malware, 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 con Symbian OS 9.x pueden ser hackeados para eliminar la seguridad de la plataforma introducida a partir de OS 9.1, lo que permite a los usuarios ejecutar código no firmado. [101] Esto permite alterar archivos del sistema y acceder a áreas previamente bloqueadas del sistema operativo. El hackeo fue criticado por Nokia por aumentar potencialmente la amenaza que plantean los virus móviles, ya que se puede ejecutar código no firmado . [102]
{{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace ). blog.symbian.org. 16 de abril de 2009{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace ){{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace ){{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace ). H-online.com (8 de diciembre de 2010). Consultado el 25 de septiembre de 2011.{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )