No es raro escuchar que se asocie GNU/Linux con android como ”lo mismo” o el hijo de la misma madre, ciertamente tienen lazos sanguíneos pero no exactamente del mismo padre (por así decirlo), en si android es Linux pero no GNU/Linux los cuales son términos distintos y es ahí donde radica el error mas común.
En las distribuciones de escritorio el mayor porcentaje esta compuesto por las herramientas GNU siendo solo Linux el kernel y en el caso de Android, carece de las herramientas GNU solo conservando el kernel Linux y agregando Java como framework en una maquina virtual Dalvik la que permite ejecutar los mismos programas en teléfonos diferentes emulando una arquitectura estándar por donde se ejecutan los programas.
Principales componentes del sistema operativo Android:
- Aplicaciones: Aplicaciones base que incluyen cliente de correo electrónico, programa de sms, calendario, mapas, navegador, contactos y otras aplicaciones están escritas en lenguaje de programación Java.
- Framework de aplicaciones: La arquitectura está diseñada para simplificar la reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.
- Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas características se exponen a los desarrolladores a través del framework de aplicaciones Android; algunas son: System C library, bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras.
- Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual está optimizado para un uso mínimo de memoria. La Máquina Virtual está basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida “dx”.
- Núcleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software.
Por el otro lado GNU/Linux esta compuesto por un kernel Linux como núcleo, herramientas GNU, librerías, software adicional, un sistema de ventanas, un administrador de ventanas y un entorno de escritorio, siendo Gnome y KDE unos de los mas populares.
Fuentes:
http://es.wikipedia.org/wiki/Android
http://developer.android.com/guide/basics/what-is-android.html


























Por lejos el open source con mas futuro del momento.
Tengo un celular con android, anteriormente tenia uno con Symbian y sinceramente fue un cambio para mejor.
Es un pijaso programar en android…