Revista Tecnología

Actualizaciones del Software

Publicado el 25 agosto 2016 por Instintobinario

Ésta semana ha sido lanzada la nueva versión de Android: Nougat, o por su número, 7.0. En un momento que la cuota de actualización a su anterior versión, 6.0 (Marshmallow), alcanza un escaso 15%, muchos usuarios se preguntarán sobre la necesidad de una nueva versión.

¿Para qué necesitamos nuevos sistemas si los viejos “funcionan”?

Ésta pregunta me la han hecho bastantes personas a lo largo de los años. Especialmente tras la pérdida del soporte de Windows XP, mucha gente se lo cuestionó: Yo estoy cómodo con mi equipo, por qué debo cambiarlo o poner otro sistema?

Es una pregunta difícil de explicar a alguien que no comprende cómo funciona el software. Voy a tratar de explicarlo de forma clara, pero seguramente despierte más dudas de las que resuelva, por lo que no dudéis en lanzar preguntas u objeciones en los comentarios.

Que la tecnología avanza nadie lo duda. Aparecen nuevos dispositivos, se transforman los que ya teníamos con más funcionalidad… Sin embargo, ésto es sólo una consecuencia de unas transformaciones y mejoras que no se ven por los usuarios.

La forma en que está construido un dispositivo en su interior cambia de un dispositivo a su siguiente generación. Ésto crea nuevas posibilidades de explotación por parte del software, que debe ser cambiado para aprovecharlo. Para ello existen las actualizaciones, que son de diversos tipos: de seguridad, de funcionalidad, de corrección de errores…

Pero estas actualizaciones son solamente parches. Y al igual que una rueda con un parche ya no tiene la misma calidad que otra nueva, un sistema operativo va acumulando ciertos errores a medida que se actualiza, que son subsanados con nuevas actualizaciones. Al final, tenemos un sistema lleno de parches, impracticable, que se sostiene en funcionamiento casi por arte de magia.

Por ésto, cada cierto tiempo, se desarrolla un nuevo sistema operativo. Suele estar basado en el anterior, pero se hace “desmontándolo” completamente, para crear algo nuevo, estable y optimizado. Y, por supuesto, se le añaden nuevas funcionalidades más modernas, y una interfaz, generalmente, mejorada (esto es muy cuestionado a veces). De ésta forma, la historia vuelve a comenzar.

Con los móviles pasa lo mismo. Por que ya no tenemos móviles, tenemos ordenadores de bolsillo. Y éstos ordenadores tiene complejos y completos sistemas operativos, llenos de funciones que necesitan actualizarse.

Ésto es lo que pasa con la nueva versión de Android, por ejemplo.

Y hablamos de que un sistema finaliza su soporte, cuando éste deja de recibir actualizaciones de seguridad. Éstas suelen ser las más críticas, pues afectan a la seguridad de los datos que maneje el usuario de dicho sistema. Por ello, suelen ser las últimas en dejar de hacerse.

Si ya es malo no tener nueva posible funcionalidades en un sistema, imagina perder la seguridad del mismo. Fallos de seguridad que se descubren pero que no se corrigen por no tener soporte el sistema. Por eso, el soporte de los sistemas se suele extender durante varios años tras la aparición de las nuevas versiones.

actualizaciones android

La fragmentación problema y (difícil) solución

La fragmentación ha sido, desde sus inicios, la gran lacra de Android. El resto de problemas, como la seguridad, o la optimización, se han ido resolviendo poco a poco, hasta el sistema operativo que tenemos hoy. Sin embargo, con la fragmentación (la existencia de versiones antiguas y no actualizadas del sistema), no parece que vaya a haber solución temprana.

De hecho aún existen teléfonos en funcionamiento con una versión 2.2 (Froyo), del 2010, que tiene tras ella 10 versiones más seguras, más estables, y más funcionales (sin contar la aparecida ésta semana).

¿Por qué pasa esto? Android está instalado a una variedad enorme de dispositivos, con unas características de hardware (físicas) muy diferentes entre sí. Para que el sistema operativo “se entienda” con ese hardware debe ser adaptado. No una vez, sino siempre, para cada nuevo dispositivo. ¿Quien se encarga de ello? El fabricante, lógicamente, pues eso quien conoce qué características está implementando en su hardware.

Sin embargo, éstos fabricantes, tienden a descuidar sus departamentos de software, invirtiendo más dinero en el desarrollo de nuevos terminales. Simplemente, al fabricante no le interesa actualizar viejos dispositivos, ya que dicha actualización será gratuita para el cliente, y ellos perderán una posible venta. Al único que podría interesar actualizar los dispositivos (a parte de al cliente) es a Google, que es quien hace negocio de la parte del software.

Con los iPhones o iPads, ésto no pasa, pues Apple gana tanto con la venta de nuevos dispositivos como con el software.

La solución para ésto es relativamente fácil, pero pasa por modificar la base del sistema Android. En lugar de preparar a Android para que “hable” al hardware del dispositivo, se prepararía al sistema para que “hable” a una pieza de software intermedio, el cual sí se comunicará con el hardware.

Para entenderlo, pensemos en los idiomas. Imagina que hablas castellano únicamente, pero la persona con quien quieres hablarte es un francés que no habla otro lenguaje. Para entenderos, debéis recurrir a un tercero, que puede ser inglés, por ejemplo, y que habla tanto francés como castellano. Este tercero hará de intérprete, comprendiendo lo que quieres decir en castellano y comunicándolo en francés y viceversa.

En lenguajes a esto lo llamamos intérprete, pero en informática se llama máquina virtual.

Por supuesto que perderemos un poco de eficiencia (éste tipo de comunicación es más lenta), pero ganamos mucho en flexibilidad. Y con el hardware de hoy en día, esa pérdida de potencia no va a ser apreciable.

Mediante este sistema, los fabricantes de dispositivos, solo tienen que desarrollar ésta máquina virtual para cada uno de sus dispositivos. Pero lo harán una vez para todos los sistemas que desarrolle Google en lo sucesivo, al menos hasta que haya cambios muy significativos en el sistema, cosa que no pasa en todas las versiones.

Pero ésto no interesa realmente a los fabricantes, pues pierden el tener un sistema algo más cerrado para evitar que lo manipules instalando otros sistemas, como las “ROM cocinadas”. Además que otros desarrolladores podrían adaptar sus sistemas a ésta máquina virtual, como Ubuntu Touch, lo que tampoco interesa a Google.

Conclusiones

Necesitamos actualizaciones de software y necesitamos nuevos sistemas. Si no por la funcionalidad, sí por la estabilidad y seguridad de los mismos. Si eres un usuario básico, seguramente pienses que puedes conformarte con lo que tienes y “tirar para adelante”. Pero debes pensar que la seguridad es importante para todos, pues podrías perder datos o sufrir robos de información.

Así que, si aún tienes algún sistema que sea demasiado “antiguo” (más de 5 años desde su aparición), deberías considerar seriamente actualizarlo. Al menos en software si tu equipo le soporta.

El artículo Actualizaciones del Software apareció por primera vez en Instinto Binario.


Volver a la Portada de Logo Paperblog