android-architecture-1

Hay mucha gente que piensa que Android es o pudiera ser una distribución GNU/Linux. Pudiera serlo, pero no lo es.

Android es Linux pero no es GNU. Es Linux porque usa un núcleo basado en el Kernel de Linus Torvalds. Una vez, un colega mío creía que se podía aumentar la cuota de usuarios de GNU/Linux argumentando que Android podría considerarse como una distribución de GNU/Linux porque usa el kernel de Linux.

Permítidme aclarar este malentendido de si Android puede considerarse una distribución GNU/Linux de una vez por todas.

Con el tiempo, los desarrolladores se han aprovechado del hecho de que Linux (junto con su componente GNU) son de código abierto y lo han ajustado para adaptarse a sus ideas e implementaciones; creando una variedad de distribuciones con una plétora de características únicas. Cientos de distribuciones GNU/Linux. Una locura, pero una hermosa locura inevitable.

Android fue fundado en octubre de 2003 por Andy Rubin, Rich Miner, Nick Sears y Chris White en California, Estados Unidos. El proyecto Android se describió como un proyecto con un “enorme potencial para desarrollar dispositivos móviles más inteligentes que sean más conscientes de la ubicación y las preferencias de su propietario”.

El sistema operativo Android de código abierto se desarrolló por primera vez con el objetivo de crear un sistema operativo avanzado para cámaras digitales hasta que se dieron cuenta de que el mercado de cámaras digitales no era lo suficientemente grande y reorientaron su enfoque para construir un sistema operativo para teléfonos que compitieran con los de Windows Mobile y Symbian de Microsoft.

Google compró la compañía en 2005 y como sabemos ahora, el resto es historia.

Bajo el capó, Android utiliza un núcleo Linux modificado que proporciona a los desarrolladores toneladas de funciones preconstruidas y bien mantenidas. Esto, a su vez, ahorra tiempo y permite a los desarrolladores de Android centrarse en las funciones más importantes para dispositivos móviles.

A partir de la implicación de los detalles en el Manifiesto GNU de Richard Stallman, un sistema operativo tiene cuatro elementos:

  1. El núcleo
  2. HAL (Hardware Abstraction Layer) – donde residen los controladores que no están compilados en el kernel.
  3. El Espacio de Usuario – donde las aplicaciones ‘residen’.
  4. El entorno de escritorio o UI, por ejemplo, GNOME y KDE.

El aspecto de Android que es Linux es su núcleo monolítico, es una versión modificada del núcleo de Linux y viene con sus propias bibliotecas y APIs. Las modificaciones al kernel de Linux son principalmente para los requerimientos de energía especializados de dispositivos portátiles con baterías algo pequeñas y las bibliotecas y APIs especializadas son para interactuar con la parte de comunicaciones celulares de un teléfono celular, así como para implementar una programación común y una Interfaz de Usuario para el soporte de aplicaciones, de modo que no tengan que ser específicas para la línea de modelo de teléfono de un fabricante en particular.

Otro detalle relevante es que cuando Linux fue desarrollado en 1991 como un sistema de código abierto para computadoras de escritorio por Linus Torvalds, fue desarrollado como el sistema operativo MINIX y no soportaba características de 32 bits con máquinas Intel 80386. Una diferencia significativa entre los dos en ese momento es que la arquitectura Android sólo soportaba x86 y ARM, que emplea para dispositivos de Internet móvil (MID) y teléfonos móviles.

Otro aspecto es el desarrollo. GNU/Linux puede ser desarrollado libremente por simples programadores o colectivos. Android sólo puede ser desarrollado por Android Inc. GNU/Linux es un sistema operativo. Android en realidad es un framework que ejecuta un núcleo de Linux.

¿Que podemos sacar como conclusión?

Android no es una distribución GNU/Linux, pero su núcleo (su centro neurálgico) es Linux y como es la convención de que una colección de software reunida en torno al núcleo de Linux se conoce como Linux, Android es Linux.

Android es un sistema operativo de código abierto que fue creado por primera vez por Android Inc. y ahora es propiedad de Google, mientras que Linux es el núcleo que fue creado por Linus Torvalds (y al que contribuyeron muchos otros) bajo el proyecto GNU.
Android está desarrollado para teléfonos móviles y dispositivos de Internet móvil, mientras que GNU/Linux está desarrollado para ordenadores de sobremesa/portátiles/servidores.
Android usa su propia biblioteca de C; mientras que las distribuciones de GNU/Linux usan GNU C
Android no puede ejecutar ningún programa que esté diseñado para distribuciones GNU/Linux.
Android implementa una versión modificada del kernel de Linux con librerías y APIs especializadas para interactuar con redes celulares y proporcionar soporte para aplicaciones que pueden ser utilizadas por modelos de teléfonos independientemente de sus proveedores.

Puedes revisar la sección “Acerca de” en tu configuración para comprobar la versión del kernel que está ejecutando tu teléfono.

¿Pueden existir distribuciones GNU/Linux con componentes de Android?

Sí, y de hecho existen, pero a diferencia de Android, están sujetas a GNU.

 

Fuente: maslinux

¿Quién está en línea?

Hay 25156 invitados y ningún miembro en línea