| Artículos | 01 FEB 2008

LiPS, el Linux móvil

Tags: Histórico
Eugenio Barahona.

Aunque es menos conocida por el gran público usuario de productos electrónicos, existe una fuerte competencia en el mercado de sistemas operativos diseñados para usarse con dispositivos móviles, como por ejemplo teléfonos u organizadores personales. De forma similar a lo que sucede en el campo de los sistemas operativos para ordenadores, en el terreno de los destinados a equipos móviles hay disponibles productos de Microsoft (con sus productos desarrollados en torno a Windows CE) y soluciones de otros fabricantes, siendo uno de los más conocidos Symbian. Lo que faltaba hasta el momento era un sistema operativo para productos de telefonía basado en Linux, si bien es cierto que hay en el mercado algunos equipos de telefonía móvil que usan el kernel de dicho sistema.

LiPS (Linux Phone Standards Forum) es un consorcio creado por un grupo de operadores de telefonía móvil y fabricantes de dispositivos hardware, participando también en esta iniciativa desarrolladores de componentes usados en el hardware y fabricantes de software. El objetivo de LiPS es crear un estándar que unifique las capas de más alto nivel de Linux, de manera que exista una base común sobre la que sea posible desarrollar aplicaciones y servicios que funcionen sobre terminales basados en este sistema operativo. Por lo tanto LiPS creará estándares para servicios basados en Linux, así como las API necesarias que directamente estén involucradas en el desarrollo e interoperabilidad de aplicaciones y servicios.

Modelo de referencia
Para poder crear un estándar que facilite el desarrollo de aplicaciones para terminales móviles basados en Linux, se ha creado un modelo de referencia, de forma que todos los equipos basados en LiPS deberán implementar dicho modelo de referencia. De esta forma, una plataforma LiPS es una implementación de las diversas especificaciones de servicios LiPS que se han definido. La plataforma, además, proporciona servicios a las aplicaciones compatibles con LiPS, las cuales deberán disponer los privilegios necesarios para poder acceder a los servicios que proporciona la plataforma.
En el caso más común, un dispositivo LiPS se entrega con la plataforma LiPS instalada y un conjunto inicial de aplicaciones preinstaladas. Posteriormente, si los servicios de gestión de aplicaciones del dispositivo soportan mecanismos de instalación dinámica de aplicaciones, sería posible instalar nuevas aplicaciones así como eliminar cualquiera de las que se encontraban preinstaladas.
Los servicios que proporciona LiPS están divididos en seis grupos o categorías: servicios de gestión de aplicaciones, servicios de interfaz de usuario, servicios habilitadores, servicios del sistema operativo, servicios de administración de la plataforma y servicios seguros. Una aplicación que se ejecuta sobre una plataforma LiPS puede, por lo tanto, acceder a los servicios y funciones que proporciona cada una de dichas categorías.
Los servicios de gestión de aplicaciones, por ejemplo, se encargan de gestionar y administrar la instalación de nuevas aplicaciones y proporcionar un marco de seguridad. Los correspondientes a la interfaz de usuario implementan primitivas gráficas mediante las que es posible realizar el render, o visualización, de los distintos elementos de la interfaz de usuario del dispositivo. Esta parte también incluiría servicios para permitir la localización de la interfaz en los distintos idiomas que vayan a soportarse, así como la gestión de eventos producidos a raíz de la interacción entre el usuario y la interfaz del dispositivo físico.
Los servicios habilitadores hacen posible el desarrollo de determinados tipo de aplicaciones. Por lo tanto, existen servicios de esta clase que ayudan a crear exploradores web, programas de mensajería instantánea, de descarga de archivos, de localización geográfica o multimedia a través de redes IP.
Los servicios del sistema operativo son aquellos más íntimamente relacionados con la plataforma hardware del dispositivo, ya que a menudo son los que realizan una interacción directa con dispositivos físicos tales como la pantalla del equipo, servicios de telefonía y acceso a redes, codecs multimedia o sistemas de archivos.
El desarrollo de aplicaciones que se ejecuten en una plataforma LiPS se realiza utilizando herramientas que se ejecutan sobre un PC convencional y un SDK, el cual incluye compiladores cruzados, depuradores y simuladores. Hay que tener en cuenta que los dispositivos móviles emplean arquitecturas distintas de la archiconocida x86 que se emplea tan ampliamente en el mundo de los ordenadores personales, por lo que es preciso disponer de compiladores que produzcan código nativo para la arquitectura del procesador que se emplee en el dispositivo para el que se esté desarrollando el software.

Modelo de programación
Ya que en algunos casos no existen dentro del mundo Linux algunas API o especificaciones que son necesarias para el desarrollo del tipo de aplicaciones que corren sobre dispositivos de telefonía móvil, LiPS realizará la especificación de las interfaces de programación de aplicaciones necesarias para acceder a los servicios para los que no exista una API que haya sido definida por organismos internaciones o por proyectos que se estén desarrollando dentro del ámbito del software de código abierto. Para que estas API formen un todo coherente desde el punto de vista de los desarrolladores de aplicaciones, LiPS ha definido una serie de directivas que seguirán todas las especificaciones de las API desarrolladas por este consorcio. Estas directivas cubren aspectos como el modelo de eventos, mecanismos de sincronización, configuración dinámica, extensibilidad, políticas de gestión de memoria o directivas sintácticas que debe cumplir el código fuente.
La extensibilidad de la plataforma es fundamental, ya que permitirá a los distintos fabricantes de dispositivos incluir características diferenciadoras respecto a sus competidores, las cuales podrían necesitar un soporte específico mediante API propietarias de cada fabricante. Esta extensibilidad podría implementarse mediante la extensión de los servicios que define LiPS o bien mediante el diseño de una API que haga uso de códigos IOCTL para llamar a las extensiones.
Ya que las API que está definiendo LiPS manipulan estructuras de datos de forma intensiva, se ha definido una política estándar para la obtención y liberación de bloques de memoria. Esta política incentiva que no se empleen datos de longitud variable, ya que puede ser una fuente de posibles errores de programación. Por otro lado, se propone no compartir la responsabilidad de obtener y liberar bloques de memoria entre la parte cliente y servidor de un producto, de forma que se propone que en caso de funciones síncronas debe ser el cliente quien adquiera y libere la memoria. En el caso de peticiones asíncronas, la gestión de la memoria se realizará dependiendo del modelo de eventos que se use.

API para telefonía
Una de las API cuya especificación ya está disponible es la de telefonía. Esta API está diseñada de forma que sea

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información