Android está basado en Linux: ¿qué significa esto?
Echando una mirada en los clasificados en Costa Rica me fijo que tenían un anuncio en el que ofrecían clases para desarrollar en “Linux-Android”. Esto me llamó la atención porque aunque el sistema móvil de Google está basando en Linux, no es igual que instalar Ubuntu o Elementary OS en la computadora. Esto es muy obvio, especialmente cuando no puedes usar aplicaciones que están hechas para Linux en un dispositivo con Android y viceversa. Así que decidí investigar qué significaba esto de que Android es basado en Linux y descubrí algunas cosas que posiblemente muchos de los lectores de Artescritorio sepan, pero que yo no tenía ni idea.
¿Qué significa realmente decir “Linux”?
No se cuántas veces he visto discusiones de usuarios de Linux que dicen que la terminología correcta es “GNU/Linux” cuando se quiere hablar de alguna distribución como Ubuntu, Mint, Debian o Elementary. Esto tiene una explicación muy simple, y es que Linux no funciona solo, necesita GNU, un escritorio como GNOME, navegadores, servidores gráficos y muchas más cosas para llegar a ser lo que vemos cuando lo instalamos en un ordenador.
El Linux Kernel es open-source por lo que es usado por otros para desarrollar , como por ejemplo cuando Google decidió crear Android, y de esta manera cualquiera que quiera crear algo en Android no tiene que hacer un kernel desde cero, sino que ya tiene una base. Sin embargo, encima del Linux Kernel de Android hay muchas otras capas que lo hacen ser completamente diferente. El robot Android hipster de arriba muestra justamente sobre las capas que tiene Android luego del Linux Kernel que lo hacen diferente a cualquier distribución de Linux que hayas usado.
¿Cuál es la diferencia entre una distribución de Linux y Android?
Es muy simple: aunque cuando prendes un dispositivo con Android el kernel de Linux se inicia, las capas encima de él son completamente distintas: no se cargan las librerías del GNU, ni tampoco un servidor X como Xorg. El resultado es que no se pueden correr aplicaciones que están hechas para Linux en un teléfono o una tablet con Android, ni viceversa.
Android usa la máquina virtual de Dalvik como librerías encima del kernel de Linux y luego el framework de las aplicaciones que son hechas en Java y que, por lo tanto, se necesitan aplicaciones que están desarrolladas diferente y usan un código distinto.
A pesar de que Android es distinto en esto, todavía existe un debate de que si es una distribución de Linux o no, lo que creo que quedaría de parte de cada quien, dependiendo lo que consideren. Es muy relativo realmente porque personalmente conozco como distribuciones de Linux aquellas que usamos en PCs como Ubuntu o Elementary, pero después de saber todo esto, ¿no se le debería llamar “distribución de Linux” a cualquier sistema operativo que use el kernel de Linux?
Como complemento puedo decir que muchos fabricantes aprovechan esta coyuntura de un kernel opensource para poder hacer que sus dispositivos sean funcionales, en el entendido que cualquier aparato electrónico necesita un sistema o conjunto de instrucciones (léase software) para poder trabajar y el kernel es la parte que le permite establecer la relación entre el software y el hardware o dispositivo. Entonces, al ser el kernel libre de usar, estudiar, modificar y distribuir, cualquiera puede tomarlo y adaptarlo sin empezar un desarrollo desde cero. Es así como no sólo tenemos Android, también microondas, reproductores de música, routers inalámbricos, equipos de DVD entre otros… Casi todos en la actualidad usan Linux. Saludos!
Gordo chupa verga
Deja de oler polvo para los pies!
Totalmente de acuerdo, Linux (kernel) esta en todas partes ya que todos los dispositivos usan un sistema para administrar las configuraciones, pero no en la misma medida distribuciones GNU/Linux
Observación: Google no creó Android, Google financió la empresa Android Inc., que fue la desarrolladora del sistema, y luego la compró.
No sabía, gracias
“Linux necesita GNU”, GNU es el Sistema operativo, necesita un kernel y el más usado es Linux, pero hay otros.
“Linux es Open Source”. No, El kernel Linux es Software Libre (está licenciado bajo la GPLv2)
Buen post, Saludos!
Gracias por la información. Soy nueva con esta terminología, es más complicada de lo que creía. :p
Excelente articulo. Facil de entender.
Android es un fork de linux, lo que quiere decir que a partir de un proyecto se desarrolla otro y no se debe considerar como una distribución linux