Esta entrada será la primera de una serie, en ellas hablare sobre la arquitectura de Android, este SO tan versátil y adaptable a tantos dispositivos.
En primer lugar os mostraré un pequeño esquema de como está estructurado y luego pasaré a hablar de su capa mas baja EL KERNEL.
En el esquema podemos distinguir el Kernel, las Librerías, la Runtime de Android, y el Framework de Aplicaciones, en esta entrada os hablaré sobre el Kernel, el cual no es ni más ni menos que un Kernel Linux.
Android está basado en el Kernel de Linux pero, obviamente, adaptado a los dispositivos móviles. El Kernel actúa como capa de abstracción entre el hardware y el resto de las capas por lo que, el desarrollador, nunca accede directamente a esta capa facilitando muchísimo así el desarrollo, ya que no obliga a saber todas las características del dispositivo, así si, por ejemplo, necesitamos hacer uso de la cámara, el SO se encarga de usar la que incluye el dispositivo, sea cual sea.
Esto se consigue gracias a que el Kernel incluye drivers (controladores) para cada elemento, estos pueden ser genéricos o unos desarrollados específicamente por el fabricante del dispositivo (esto ultimo es lo ideal), además de controlar los componentes de los que consta el dispositivo también se encarga de gestionar muchas otras cosas, la batería, la memoria, los procesos, la frecuencia del microprocesador, los elementos de comunicación, etc….
Las versiones del kernel usadas en cada versión de Android son:
- 1.5 Cupcake basada en2.6.27
- 1.6 Donut basada en 2.6.29
- 2.0/2.1 Eclair basada en 2.6.29
- 2.2 Froyo basada en2.6.32
- 2.3 Gigerbread basada en 2.6.35.7
- 3.0/3.1/3.2 basada en 2.6.35.7
- 4.0 basada en 3.0
