Ir al contenido principal

Sistemas operativos móviles

Un sistema operativo móvil o SO móvil es un sistema operativo que controla un dispositivo móvil al igual que las computadoras utilizan Windows o Linux entre otros. Sin embargo, los sistemas operativos móviles son bastantes más simples y están más orientados a la conectividad inalámbrica, los formatos multimedia para móviles y las diferentes maneras de introducir información en ellos.

Capas de un sistema operativo móvil

  • Kernel. El núcleo o kernel proporciona el acceso a los distintos elementos del hardware del dispositivo. Ofrece distintos servicios a las superiores como son los controladores o drivers para el hardware, la gestión de procesos, el sistema de archivos y el acceso y gestión de la memoria.
  • Middleware. El middleware es el conjunto de módulos que hacen posible la propia existencia de aplicaciones para móviles. Es totalmente transparente para el usuario y ofrece servicios claves como el motor de mensajera y comunicaciones, códecs multimedia, intérpretes de páginas web, gestión del dispositivo y seguridad.
  • Aplicaciones. El entorno de ejecución de aplicaciones consiste en un gestor de aplicaciones y un conjunto de interfaces programables abiertas y programables por parte de los desarrolladores para facilitar la creación de software.
  • Interfaz de usuario. Las interfaces de usuario facilitan la interacción con el usuario y el diseño de la presentación visual de la aplicación. Los servicios que incluye son el de componentes gráficos (botones, pantallas, listas, etc.) y el del marco de interacción.

Aparte de estas capas también existe una familia de aplicaciones nativas del teléfono que suelen incluir los menús, el marcador de números de teléfono...

Sistemas operativos móviles

Mientras que en el ámbito de las computadoras hay un sistema operativo dominador del mercado como Windows, en el mundo de los nuevos smartphones y tablets no hay un sistema operativo dominador claro sobre el resto. A continuación mostraremos una breve descripción de los sistemas operativos móviles más importantes en el mercado actual:

  • iOS.  Es un sistema operativo móvil de Apple desarrollado originalmente para el iPhone, siendo después usado en el iPod Touch e iPad. Es un derivado de Mac OS X, que a su vez está basado en Darwin BSD. El iOS tiene 4 capas de abstracción: la capa del núcleo del sistema operativo, la capa de "Servicios Principales", la capa de "Medios de comunicación" y la capa de "Cocoa Touch" (pantalla multitáctil). Todo el sistema se encuentra en la partición "/root" del dispositivo, ocupa poco menos de 500 megabytes. La interfaz de usuario de iOS se basa en con el concepto de manipulación mediante gestos multitáctiles. Los elementos de la interfaz se componen por deslizadores, interruptores y botones. La respuesta es inmediata y se provee de una interfaz fluida. La pantalla principal (llamada "SpringBoard") es donde se ubican los iconos de Aplicaciones y el Dock en la parte inferior de la pantalla donde se pueden anclar aplicaciones de uso frecuente, aparece al desbloquear el dispositivo o presionar el botón de inicio. La pantalla tiene una barra de estado en la parte superior para mostrar datos, tales como la hora, el nivel de batería, y la intensidad de la señal. Las aplicaciones principales son Phone, Safari, Ipod y Mail. Entre las secundarias están YouTube, iTunes, AppStore, Nike+Ipod y GameCenter ( una red social al estilo Xbox Live). Antes de iOS 4, la multitarea estaba reservada para aplicaciones por defecto del sistema.  A partir de iOS 4, dispositivos de 3ª generación y posteriores  soportan multitarea (audio en segundo plano, notificaciones push...). Sin embargo, no consiste en una verdadera multitarea, pues las aplicaciones ajenas al SO, quedan congeladas en segundo plano no recibiendo un sólo ciclo de reloj del procesador. iOS no soporta Adobe Flash o Java, lo que afecta a los sitios web que utilizan estas tecnologías. Steve Jobs escribió una carta abierta donde critica a Flash por ser inseguro, con errores, consumir mucha batería, ser incompatible con interfaces multitouch e interferir con el servicio App Store. En cambio iOS soporta HTML5 como una alternativa a Flash. Hay disponible un SDK para terceros y desarrolladores en Febrero del 2008. Los desarrolladores pueden poner un precio por encima del mínimo ($0.99 dólares) a sus aplicaciones para distribuirlas en el App Store, de donde recibirán el 70% del dinero que produzca la aplicación. En alternativa, el desarrollador puede optar por lanzar la aplicación gratis, y de esta forma no pagar ningún costo por distribuir la aplicación. Terminales: IPhone 4 , Ipad...
  • Android. Es un sistema operativo basado en Linux para dispositivos móviles, como teléfonos inteligentes y tablets. Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en el 2005.6 Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio (NVidia, Qualcomm, Samsumg Electronics...). Android tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, existen cerca de 200.000 aplicaciones disponibles para Android. Android Market es la tienda de aplicaciones en línea administrada por Google, aunque existe la posibilidad de obtener software externamente. Google liberó la mayoría del código de Android bajo la licencia Apache, una licencia libre y de código abierto. La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Entre las características de los teléfonos Android están las aplicaciones que viene de serie proporcionadas por Google (Google, Gmail, Calendar...), almacenamiento en BD liviana (SQLite), navegador web basado en motor de renderizado de código abierto WebKit, gráficos en 2D y 3D basado en OpenGL, conectividad Bluetooth, EDGE, UMTS y  Wi-Fi, reproducción de formatos multimedia (H.263, H.264, MP4, AAC, JPG, GIF...), soporte para cámaras de fotos, video, GPS, acelerómetros, giroscopios, magnetómetro, aceleradores hardware 2D y 3D, soporte HTML5 y Flash, pantalla multitáctil... Por otro lado Android tiene el problema añadido de la multitud de terminales y versiones que existen lo cual hace que el usuario se pierda un poco a la hora de valorar juzgar y elegir. Tiene repartidos varios sistemas operativos (1.5 Cupcake, 1.6 Donut, 2.1 Eclair y 2.2 Froyo, 2.3 Gingerbread, 3.0 HoneyComb) repartidos por otros tantos terminales.  Para más información ver el siguiente postTerminales: HTC Desire, HTC Hero, HTC Wildfire, HTC Dream, Samsumg i9000 Galaxy S, aPad, Motorola Milestone, Garminfone
  • Symbian. Symbian es un sistema operativo que fue producto de la alianza de varias empresas de telefonía móvil (Nokia, Samsung, Siemens, Benq, Panasonic...). Sus orígenes provienen de su antepasado EPOC32, utilizado en PDA's. El objetivo de Symbian fue crear un sistema operativo para terminales móviles que pudiera competir con el de Palm o el Windows Mobile de Microsoft y ahora Android de Google Inc. , iOS de Apple Inc. y Blackberry 6 de RIM. Como software de sistema operativo, Symbian proporciona las rutinas y los servicios subyacentes para las aplicaciones. Tecnicamente el sistema operativo Symbian es una colección compacta de código ejecutable y varias archivos, la mayoría de ellos bibliotecas DLL (aunque también encontramos archivos de configuración, tipografías, imágenes y otros recursos). Por norma general, el sistema operativo Symbian lo encontramos cargado en la memoria flash del teléfono móvil, de esta forma podemos conservar el sistema operativo aun cuando no tengamos batería. Las aplicaciones compatibles con Symbian se desarrollan a partir de lenguajes de programación orientados a objetos como C++, Java (con sus variantes como PJava, J2ME, etc.), Visual Basic para dispositivos móviles, entre otros, incluyendo algunos lenguajes disponibles en versión libre. Symbian contempla cuatro tipos de dispositivos para su sistema operativo, los denominados Serie60, Serie80, Serie90 y UIQ. La mayoría de Nokia son Serie60, todos los de Sony Ericsson trabajan bajo UIQ, así como también Motorola. Terminales: Nokia N980, N95,  Motorola A1000, Siemens SX1...
  • Meego. Fue la unión de los sistemas operativos Maemo y Moblin, con el que Intel y Nokia pretenden competir con el sistema Android de Google. El proyecto del nuevo sistema a diferencia de Android está supervisado por la Linux Foundation. MeeGo se presentó como un sistema preparado para funcionar en netbooks, dispositivos portátiles, sistemas en vehículos, televisiones y teléfonos multimedia. Básicamente se trata de una distribución Linux con soporte para ARM e Intel/Atom que usa Qt para su interfaz. El software Meego se pueden clasificar en dos categorías: el sistema operativo (SO) y la experiencia del usuario (UX). El software del sistema operativo tiene, en una gran mayoría, licencia copyleft para garantizar la apertura del sistema subyacente, mientras que en el software UX es predominantemente el uso licencias BSD. Entre las características de los terminales con MeeGo está la integración con redes sociales, servicios de localización, sincronización de datos en la nube, soporte de gestos... Entre las aplicaciones principales está Banshee (reproductor multimedia), Google Chrome (navegador),Gedit (editor de textos) y Gnome-Terminal (emulador de terminal).  Terminales: Nokia N950 y Nokia N9.
  • WebOs. Es un sistema operativo multitarea para sistemas embebidos basado en Linux, desarrollado por Palm, Inc., ahora propiedad de HP. Fue lanzado en 2009. La interfaz gráfica de usuario de webOS fue diseñada para dispositivos con pantalla táctil. Incluye un conjunto de aplicaciones para el manejo de la información personal y usa tecnologías web como HTML5, JavaScript y CSS. Palm asegura que el diseño alrededor de estas tecnologías fue intencionado, para evitar así el aprendizaje de un nuevo lenguaje de programación por parte de los desarrolladores. La interfaz de webOS está basada en un sistema de "cartas" utilizado para administrar la multitarea. Las aplicaciones pueden ser iniciadas ya sea desde el lanzador, que muestra tres páginas de iconos de aplicaciones o desde el lanzadorrápido, que muestra cinco iconos alineados horizontalmente. Las aplicaciones son cerradas lanzando la "carta" de la pantalla. webOS también soporta gestos multi toque, posibilitando que la mayoría del ingreso de datos pueda ser realizado a través de la pantalla. webOS incluye una característica llamada "Synergy" que permite integrar información de varias fuentes. webOS permite al usuario acceder a sus cuentas de Gmail, Yahoo!, Facebook, LinkedIn y Microsoft Outlook (a través de ActiveSync). Los contactos de todas las fuentes son integrados en una única lista.El navegador web utilizado por webOS está basado en WebKit, y por lo tanto renderiza las páginas de una forma similar a Safari, Google Chrome. Para la mensajería, Synergy combina todas las conversaciones con un contacto en una misma ventana de diálogo. Por ejemplo, los mensajes instantáneos y SMS son vistos juntos. Una característica del navegador es la habilidad de poder reproducir archivos .pls sin necesidad de una aplicación externa. En 2010 Adobe mostró una versión de su flash player para webOS. Terminales: Palm Pre, Palm Pixi.
  • Windows Phone. Anteriormente llamado Windows Mobile es un sistema operativo móvil compacto desarrollado por Microsoft, y diseñado para su uso en teléfonos inteligentes (Smartphones) y otros dispositivos móviles.Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas utilizando las API de Microsoft Windows. Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente. Además, existe una gran oferta de software de terceros disponible para Windows Mobile, la cual se puede adquirir a través de Windows Marketplace for Mobile.  Windows Mobile ha evolucionado y cambiado de nombre varias veces durante su desarrollo, siendo la última versión la llamada Windows Phone 7 (anunciada en 2010). Windows Phone 7, cuyo nombre clave durante su desarrollo era "Photon", busca soluciones más cerradas que mantengan unos estándares mínimos de calidad como por ejemplo pantallas de alta resolución con soluciones táctiles de tipo capacitativo, así como configuraciones de hardware muy concretas que mantengan una experiencia similar a la lograda con la interfaz del reproductor multimedia Zune HD. La integración de redes sociales y una interfaz multiescritorio son sus principales bazas para capturar al usuario doméstico mientras que la integración de la plataforma "Documents & Sharepoint" permitirá mayor disponibilidad y versatilidad para el entorno profesional. En Windows Mobile 7 todas las capacidades del teléfono, aplicaciones, documentos, etc… se organiza a través de ‘hubs’ (cubos), que son apartados o secciones. Así, todo en WM7 estará integrado en el hub de Personas, de Fotografías, de Office, de Música, Vídeo y de Juegos (que integran la marca Xbox Live). Estas mejoras visuales representan una demanda importante de hardware (mínimo 1GB de RAM). Terminales: HTC 7 Trophy, LG Optimus 7, HTC HD7, Samsung Omnia 7...
  • Bada. Bada, océano en coreano, es un sistema operativo para teléfonos móviles desarrollado por Samsung Electronics. Está diseñado para cubrir tanto los teléfonos smartphones de gama alta y de gama baja. Se basa en el sistema operativo propiedad de Samsung SHP OS. Es la plataforma con un núcleo de arquitectura configurable, que permite el uso de cualquiera de los kernel de Linux, o cualquier otro Real-time operating system (RTOS) kernel. El kernel de Linux es la opción preferida para los Smartphones de gama alta, mientras que RTOS se utiliza para los Smartphones mas asequibles, debido a un consumo de memoria más pequeña. Ofrece varios controles de interfaz de usuario para los desarrolladores. Proporciona una variedad de controles básicos en la interfaz de usuario como cuadro de lista, Selector de color, pestañas, etc. Además, tiene un control del explorador web basado en el WebKit de código abierto, y también cuenta con Adobe Flash y el soporte a Flash 9.  Bada ofrece mapas interactivos con el punto de interés (POI), características que también puede ser incluidas dentro de las aplicaciones. Bada soporta diversos mecanismos para mejorar la interacción: varios sensores, como sensores de movimiento, control de vibraciones, detección de rostros, acelerómetro, magnetómetro, el GPS y pantalla multitactil,  que pueden ser incorporados en aplicaciones. Las aplicaciones son desarrolladas en C++ con el SDK de Bada. El IDE también contiene la interfaz de usuario Builder, con la que los desarrolladores pueden diseñar la interfaz de sus aplicaciones arrastrando y colocando controles de interfaz de usuario en los formularios. No se permite instalar aplicaciones fuera de la tienda y tampoco permite el uso de ningún tipo de programa de VoIP/SIP. Terminales: Samsung Corby, Samsung Wave S7320...
  • BlackBerry OS. El BlackBerry OS es un sistema operativo móvil desarrollado por Research in Motion para sus dispositivos BlackBerry. El sistema permite multitarea y tiene soporte para diferentes métodos de entrada adoptados por RIM para su uso en computadoras de mano, particularmente la trackwheel, trackball, touchpad y pantallas táctiles. Estos dispositivos permiten el acceso a correo electrónico,navegación web y sincronización con programas como Microsoft Exchange o Lotus Notes aparte de poder hacer las funciones usuales de un teléfono móvil. El SO BlackBerry esta claramente orientado a su uso profesional como gestor de correo electrónico y agenda. Desde la versión actual, la cuarta, se puede sincronizar el dispositivo con el correo electrónico, el calendario, tareas, notas y contactos de Microsoft Exchange Server además es compatible también con Lotus Notes y Novell GroupWise. Al igual que en el SO Symbian desarrolladores independientes también pueden crear programas para BlackBerry pero en el caso de querer tener acceso a ciertas funcionalidades restringidas necesitan ser firmados digitalmente para poder ser asociados a una cuenta de desarrollador de RIM. La versiçon actual del sistema operativo es la 6. RIM en el desarrollo de este OS se enfocó en la parte multimedia hacia el usuario, sin dejar a un lado la parte profesional, también se muestra la integración de las redes sociales y la mensajería instantánea en este. Terminales: BlackBerry Storm 6.
  • LiMO. Creado por Vodafone la que innova presentando nuevos servicios y terminales de la mano de Samsung. Como Android también es de código abierto, como también lo hizo Symbian hace poco tiempo.Las diferencias se basan en que LiMo está más enfocado a un potencial uso independiente del hardware usado, y pretende que los desarrolladores tengan más facilidades para crear en su plataforma. Marca la diferencia con Android, es que no tiene una interfaz de usuario común y esto se muestra en los nuevos termianles presentados por Vodafone, a los que la marca inglesa ha incorporado una interfaz propia con los servicios de Vodafone 360. Aunque el sistema operativo permite, como es obvio, la instalación de más programas, el hecho de que esté tan controlado por una operadora, al menos en este caso, podría hacer pensar que es posible que no sea tan fácil desarrollar y lanzar programas como pueda serlo para el iPhone o Android, pero al contrario, la propia Vodafone ha anunciado que pondrá API´s a disposicion de los desarrolladores para que creen nuevos complementos para LiMo. Terminales: Samsung H1 y M1.
  • Wophone. China Unicom desarrolla un nuevo sistema operativo para terminales móviles conocido como WoPhone. El nuevo sistema operativo está basado en Linux y pensado tanto para smartphones como para tablets. Ya hay compañías que planean crear dispositivos utilizando WoPhone, como ZTE, Huawei, Samsung Electronics, Motorola o HTC. 
Historia sistemas operativos móviles

En el siguiente gráfico se puede ver un recorrido sobre los sistemas operativos móviles que han existido históricamente, los que se han ido ya y los que quedan por venir:




Cuota de Mercado

En el siguiente vemos una comparativa de la cuota de mercado actual de los sistemas operativos más relevantes (actualizada a Febrero 2011) organizada por paises. 



Si observamos esta otra gráfica comparativa de resultados entre los años 2009 y 2010, Android ha sido el Sistema Operativo para Smartphone que ha explotado, multiplicando por 10 las ventas al usuario final. Symbian ha aumentado en un 37,95% y BlackBerry en un 38,15%. Por otro lado, Windows Phone,  ha reducido sus ventas en un 17,65%.



Comentarios

Entradas populares de este blog

Soluciones Alchemy Classic 389 elementos

Hace algún tiempo salió una actualización del Juego Alchemy Classic en la que aparecían más elementos (389 en lugar de 238). Aparte de añadir elementos mejoran algunas traducciones en castellano y mejoran la interfaz, aunque todavía hay algún error en algunos nombres de elementos. Aquí os dejo las soluciones para los que estén atascados y no puedan dormir por las noches: Sustancia primaria Aire=Elemento primario  Fuego=Elemento primario  Agua=Elemento primario  Tierra=Sustancia Primaria Arena=Piedra + Aire Piedra=Tierra + Fuego Arcilla=Arena + Pantano Caliza=Tierra + Amonitas Carbono=Fuego + Madera Cloro=Fuego + Sal + Electricidad CO2(Dióxido de Carbono)=Ceniza + Ácido nítrico Electricidad=Relámpago+ Metales Gas natural= Yacimiento de gas + Pozo Helio=Refinería de gas + Gas Natural Hidrógeno=Electricidad + Agua Hielo=Frío + Agua Imán=Piedra + Metales Metano=Deshechos Vegetales + Pantano Oxígeno=Electricidad + Agua Petróleo=Unidad

JAXB: Leer y escribir ficheros XML

Muchas veces en nuestras aplicaciones debemos manejar documentos XML ( Extensible Markup Language ). Este lenguaje se ha convertido en un estándar para intercambio de datos entre programas y aplicaciones a través de Internet. En un esquema XML (o  XSD ) podemos definir los elementos que pueden aparecer en un documento XML así como las relaciones entre los mismos. JAXB ( Java Architecture for XML Binding ) es un estándar Java para transformar un esquema XML (o  XSD ) en una representación a objetos java. Mediante la API de JAXB podemos mapear un objeto Java a un documento XML ( "marshall" ) y el proceso contrario, es decir, a partir de un esquema XML crear su conjunto de objeto Java asociado ( "unmarshall" ). JAXB Resumiendo lo que nos proporciona JAXB es: Generación de objetos Java a partir de un XSD a través de un compilador Proporciona capacidades de marshall/unmarshall (escribir fichero XML desde java y al contrario) Integración con Maven a través de xj

Matemáticas y cine.

El otro día estaba viendo por la televisión una película llamada 21 blackjack . En una escena de la película el profesor de matemáticas ( Kevin Spacey ) le presenta a uno de sus alumnos la siguiente situación: se encuentra en un concurso en la que debe escoger entre tres puertas (1,2 y 3). En dos de ellas hay una cabra, sin embargo en una de las 3 hay un flamante coche nuevo. El alumno responde que quiere abrir la puerta. El presentador, conocedor de lo que hay detrás de cada puerta decide abrir otra puerta diferente mostrando detrás de ella una cabra. El profesor se dirige al alumno y le pregunta, ¿cambiarías la puerta o te quedarías con la puerta que tienes? Muchos de nosotros cambiaríamos de puerta pensando que es una treta del presentador para engañarnos. ¿Cual elegiríais vosotros? Al comienzo tenemos 1/3 de probabilidades de acertar la puerta donde está el coche. Una vez que el presentador abre la puerta con una cabra, la mayoría de gente piensa que hay la misma probabilidad de