Latest Posts:

7 de febrero de 2013

El año de Linux en los bolsillos

En momentos en que Android domina el mercado, Tizen, Ubuntu for phones y Firefox OS son alternativas derivadas pero muy diferentes

Qué lugar ocupa la fragmentación entre las razones técnicas y qué otras motivaciones pueden contribuir a su éxito

Tizen

Tizen, sistema operativo de Linux, en un móvil

El titular no dice toda la verdad; en todo caso los candidatos son los últimos años, cuando el núcleo Linux de Android se metió en la mayoría de nuestros bolsillos (hasta el 75%, según algunos estudios). Sin embargo, el primer mes de 2013 aportó varias novedades interesantes que abren nuevas oportunidades y opciones a usuarios, desarrolladores y sistemas móviles basados en Linux.

A principios de enero Samsung anunció que este año sacará al mercado teléfonos de gama media y baja con un nuevo sistema operativo, Tizen. Al día siguiente, Canonical, desarrolladora de Ubuntu, anunció Ubuntu for phones. Como si faltasen novedades, dos semanas más tarde se presentaron los dos primeros dispositivos de la empresa española Geekphone que funcionan con el sistema operativo FirefoxOS promovido por la Fundación Mozilla con otra empresa española -Telefónica- como uno de los principales colaboradores financieros y técnicos (seguramente la razón de que Mitchell Baker, presidenta de la Fundación Mozilla, se haya mudado a Barcelona el año pasado).

Es interesante que al mismo tiempo que Android domina el mercado y adquiere una calidad y madurez comparable a la de su gran competidor, el iOS de Apple, aparezcan alternativas derivadas pero tan diferentes. El argumento de los protagonistas suele ser de índole técnico: tener sistemas sólo basados en HTML5, más ligeros y con menos requerimientos de hardware. Pero también se leen y adivinan otras razones. Aunque el sistema Android es software libre, Google tiene un gran control sobre el ecosistema: determina las pautas de desarrollo y lanzamientos, es propietario de la marca y logo de Android que le permiten establecer condiciones a los fabricantes, hasta las aplicaciones más usadas son programas -no libres- de Google: Play, Maps, Gmail, etc.

Las razones técnicas

Android Inc. nació en 2003 para desarrollar el sistema Android, luego fue adquirida por Google en 2005. En 2007 se creó la Open Handset Alliance para fomentar su desarrollo, y se lanzó el primer dispositivo con Android en 2008. La pila de software de este sistema operativo está formada por software libre: Linux, herramientas de software necesarias, y en la capa más alta la máquina virtual Dalvik, la responsable de ejecutar el código de las “aplicaciones nativas” para Android, escritas en Java.
La elección de Java como lenguaje de programación fue criticada desde el principio. A diferencia de iOS, que ejecuta en código nativo del procesador (compilado desde el fuente en Objective C), en este caso la ejecución no es directa, Dalvik es el responsable de ejecutar el código intermedio de Java. El objetivo era la independencia del procesador, aprovechar las librerías existentes, y atraer a la masiva comunidad de programadores Java. Los desarrolladores de Android hicieron un gran esfuerzo en optimizar la ejecución de los programas, Dalvik no es la máquina virtual de Java estándar, sino una específicamente diseñada para dispositivos de poca memoria y potencia, en las últimas versiones incluye optimizaciones tan importante como JIT ( Just In Time compiler).

Las optimizaciones de Java/Dalvik no son las únicas. Android aprovecha las capacidades más avanzadas del Linux para minimizar el uso de memoria mediante una arquitectura muy bien diseñada. Por razones de seguridad, las aplicaciones se deben ejecutar como procesos diferentes (similares a los procesos de cualquier Unix o distribución GNU/Linux), con su propio intérprete y librerías de Java. Para no duplicar el consumo de memoria de cada proceso, se usa de forma muy ingeniosa la técnica Copy On Write (COW) de Linux, que evita duplicar páginas de memoria de sólo lectura o ejecución.

A pesar de las optimizaciones, las críticas continúan justificadamente. Android todavía no ha llegado a la suavidad y uniformidad de tiempos de respuestas del iOS. Incluso en las últimas versiones de 4.2 se observan regresiones importantes en este campo.

Los tres nuevos sistemas operativos -Tizen, Ubuntu for phones, y FirefoxOS- están basados, como Android, en el núcleo Linux y prácticamente sus mismas herramientas, pero los tres eliminan la capa de Java/Dalvik.

Lea el artículo completo en:





google.com, pub-7451761037085740, DIRECT, f08c47fec0942fa0