Android y Linux



¿Son lo mismo Android y Linux? Pues si y no, depende a que llamemos Linux.
Frecuentemente se cae en el error de llamar Linux al sistema operativo GNU/Linux, pero
Linux es un kernel. Cuando el proyecto GNU se decidió a adoptar el kernel de Linux Tolvards
fue porque Hurd, el kernel que la Free Software Foundation proponía no estaba listo, y sigue
sin estarlo. Así que podemos tener entornos que podríamos llamar “Linux” sin serlo, como un
GNU/Hurd o un BSD, o un OpenSolaris, que pueden tener los mismos componentes pero un
núcleo diferente.
Realmente Linus Tovards lo que hizo fue poner la última pieza del rompecabezas de GNU.
Para que os hagáis a la idea es como si tenéis un coche marca Dacia y como el motor es
Renault decís que tenéis un Renault, nada más lejos.

Así que si tomamos Linux como GNU/Linux entonces podremos decir que Android y Linux no
son lo mismo. A Android le faltan un montón de componentes de GNU/Linux, las consolas, los
entornos gráficos, los compiladores, los servidores, los cargadores de arranque… Aunque no
está bien definido que debe incorporar un sistema para ser GNU/Linux a primera vista
podemos ver que dista mucho de ser un GNU/Linux estándar como las distribuciones que
existen para PC, incluso dista mucho de los sistemas encastrados que encontramos en otros
dispositivos.
Por otro lado si tomamos como Linux el kernel en si mismo podemos decir que Android y
Linux son lo mismo porque Android usa ese “motor” para funcionar. Android usa el kernel
Linux como capa de abstracción de hardware. Es decir, el kernel se usa para que los
componentes de Android, la máquina Dalvik, las bibliotecas y las aplicaciones corran sobre
un entorno estandarizado que no dependa del hardware.
Tenemos cientos de modelos de terminales Android, si por cada uno hubiera que retocar todo
el sistema operativo habría un montón de problemas en las actualizaciones y en los nuevos
desarrollos. Pero si por otro lado solo tienes que tocar una pequeña parte del sistema
operativo y solo en la parte de comunicación con el hardware se hace todo más fácil. Y si
además no lo tienes que hacer tú, sino que puedes utilizar un kernel libre, con la estabilidad
que tiene Linux, con unagran comunidad detrás y lo único que tienes que hacer es liberar tu
código es un pequeño precio para los grandes beneficios que te aporta.
Si Google no hubiera utilizado Linux como base de Android el desarrollo de uno propio se
habría eternizado, tendrían problemas para adaptarlo a la gran cantidad de terminales que
hay en el mercado y el trabajo de desarrollo sería demasiado complejo para el tipo de sistema
operativo que quiere Google, que lo evoluciona casi cada 6 meses.
Así que podremos decir cuando nos pregunten que Android no es GNU/Linux, sino que utiliza
el kernel Linux, que no es lo mismo.

No hay comentarios:

Publicar un comentario