Google quiere un kernel genérico para Android: actualizaciones más rápidas y mayor seguridad

No es que Android sea un sistema operativo de código abierto al completo u Open Source ya que, pese a estar basado en el kernel de Linux, y aunque exista una versión de sistema completamente libre (Android Open Source Project o AOSP), Google incluye en los dispositivos certificados una serie de aplicaciones y servicios propietarios. Aun así, Android mantiene la base de Linux, su kernel o núcleo; sin que sea el mismo kernel que se utiliza en distros de Linux ya que empresas y fabricantes lo modifican para que se adapte mejor a móviles, tablets y otros aparatos.

Todos sabemos la enorme fragmentación de Android y las dificultades que arrastra el sistema en términos de actualización, por ejemplo. Google ha ido puliendo estos inconvenientes de manera notable hasta evolucionar el sistema incluyendo mejoras como Project Treble, una capa genérica de sistema que se encuentra separada de las personalizaciones de cada fabricante. De esta manera, cada marca sólo debe modificar su capa; lo que, en teoría, debía agilizar las actualizaciones. ¿Funcionó? Sí, pero aún hay mucho margen de mejora. Y Google está dispuesta a ir más allá.

Un kernel genérico de Linux agilizaría las actualizaciones y mejoraría la seguridad en Android

El kernel o núcleo es la capa encargada de gestionar el sistema y sus recursos, de ahí que sea una parte tan vital del firmware. Y, dado que Android está orientado principalmente a los teléfonos, Google y el resto de las empresas introducen cambios en el kernel para así facilitar la ejecución en los distintos dispositivos compatibles. Con un inconveniente: esto complica procesos como el de las actualizaciones ya que las marcas deben comprobar que cada cambio funciona de manera correcta en los distintos modelos. Si extrapolamos esto a la enorme cantidad de teléfonos con Android, podemos intuir el problema.

Con Treble, Google separó la personalización de los fabricantes en una capa propia para que así cualquier dispositivo con Android 8 Oreo y superior pudiese instalar una actualización sin la necesidad de que la marca revisase por completo todo el firmware: le bastaba con adaptar su personalización. No ocurre lo mismo con el kernel: Google, Qualcomm, Samsung... Cada empresa añade sus propios cambios al núcleo. Y Google parece decidida a finiquitarlo.

Con un núcleo genérico los fabricantes sólo tendrían que personalizar la capa de módulos destinada al hardware concreto de cada teléfono

Pese a que la empresa no ha asegurado que Android adoptará finalmente el núcleo genérico de Linux, sí ha mostrado interés por este paso. Y las mejoras serían notables: con un núcleo genérico los fabricantes sólo tendrían que personalizar la capa de módulos destinada al hardware concreto de cada teléfono. De esta manera, habría un núcleo "estándar" destinado a procesadores ARM 64 del que no sólo se beneficiarían dispositivos como smartphones o tablets, también ordenadores portátiles con ese tipo de SoC que tengan instalada una distro de Linux.

No es seguro que Google utilice finalmente un kernel genérico de Linux en Android

Pese a las mejoras que esto tendría, con la rapidez en las actualizaciones, mayor seguridad o menor gasto de batería, Google no ha asegurado que finalmente vaya a utilizar un núcleo genérico de Linux en Android. Esto aliviaría la carga de trabajo de cada marca ya que no tendría que modificar el núcleo de sistema: le bastaría con agregar un módulo con todos los controladores necesarios para el dispositivo.

Algunos desarrolladores de la comunidad Linux no están de acuerdo con el kernel genérico

Pese a las mejoras notables del kernel genérico, no toda la comunidad de Linux está de acuerdo en la idea. Como apuntan en Ars Technica, los desarrolladores independientes no podrían localizar errores y corregirlos ya que los módulos estarían fuera del kernel y bajo el criterio de los distintos fabricantes.

Vía | Android Police

Ver todos los comentarios en https://www.xatakandroid.com

VER 0 Comentario

Portada de Xataka Android