Una introducción al sistema operativo que viene causando tanto revuelo desde hace ya tiempo.
Como seguramente ya sabes Android es un sistema operativo
basado en un núcleo o kernel de Linux, el cual fue modificado principalmente
para ser arrancado en dispositivos
móviles, independientemente de que cuenten con pantalla táctil o no.
Inicialmente fue desarrollado por Android Inc. Empresa que Google respaldó
económicamente para más tarde adquirir en septiembre de 2005.
Oficialmente el sistema operativo Android fue presentado en
2007 de la mano de la fundación del Open Handset Alliance que es un consorcio
de compañías de hardware, software y telecomunicaciones que busca el
desarrollar los estándares abiertos para los dispositivos móviles. El primer
móvil con el sistema operativo Android fue el HTC Dream y se vendió en octubre
de 2008.
USO EN DISPOSITIVOS
El sistema operativo desarrollado por Google es el más
utilizado por compañías como Samsung, Amazon y
HTC, gracias a la sencillez de su personalización. De acuerdo con un
estudio de la analista de aplicaciones móviles Localytics, los teléfonos
inteligentes de 4,3 pulgadas y con un resolución de pantalla de 800 x 480
píxeles son los más populares entre los usuarios, en este mismo segmento se incorporan
los celulares chinos que aun que cuentan con una tecnología inferior a los
modelos de marca destacan por una gran personalización y funcionalidades casi
ilimitadas.
En la categoría de tabletas con Android, el Kindle Fire de
Amazon y el Nook de Barnes & Noble son los más demandados, en parte
seguramente, por su bajo costo, dado que ninguno cuesta más de 250 dólares.
Para llegar a estas conclusiones, fue necesario el análisis de
los tamaños de pantalla y de resolución y el tipo de dispositivo utilizado a
partir del uso de aplicaciones. Según las especificaciones de los programas
descargados en el Android Market, fue posible establecer cuáles eran los
teléfonos y las tabletas más demandadas.
El número de activaciones de terminales con Android crece
día a día, debido a la gran cantidad de fabricantes que incorporan el sistema
operativo móvil desarrollado por Google. Sin embargo, como señala el sitio
PortalTic, esto puede llegar a ser un problema para los desarrolladores de
aplicaciones, que tienen que trabajar en versiones de una misma plataforma que
se adapten a los distintos tamaños.
La arquitectura de Android
La palabra arquitectura sé refiere a cómo se encuentra
estructurado este sistema operativo Android, en el caso específico del sistema Android su arquitectura está compuesta por
varias capas que facilitan al desarrollador la creación e integración de
aplicaciones mediante el uso de librerías, así el desarrollador no necesita conocer
como programar a bajo nivel para acceder a las funcionalidades necesarias para
que una aplicación haga uso de los componentes de hardware de los dispositivos
Android. Debido a que cada una de las capas utiliza elementos de la capa
inferior para realizar sus funciones, a este tipo de arquitectura se le denomina
pila. En el siguiente diagrama muestro la arquitectura de Android:
Diagrama
Visto esto podemos pasar a analizar cada una de las capas.
Kernel de Linux: es
el núcleo del sistema operativo Android y se basa en un kernel de Linux en su
versión 2.6 como cualquier distribución de Linux, con la salvedad que fue adaptado
a las características del hardware móvil en el que se ejecutará Android.
Este núcleo trabaja fusionando el hardware con el resto de
las capas de la arquitectura, así el desarrollador no accede directamente a
esta capa, sino que utiliza las librerías disponibles en las capas superiores.
De esta forma se evita el hecho de conocer las características precisas de cada
teléfono, pues para cada elemento de hardware del teléfono existe un controlador
(o driver) y el kernel nos permite utilizarlo desde el software, si necesitamos
hacer uso de las bocinas, el sistema operativo se encarga de utilizar las que
incluya el teléfono.
El kernel también se encarga de gestionar todos los recursos
del teléfono (energía, memoria, etc.) y del sistema operativo en sí: procesos,
elementos de comunicación (networking) y demás.
Librerías: La
siguiente capa se llama librerías o biblioteca de sistema y se encuentra justo
encima del kernel, escrita en C o C++ esta contiene toda la información
específica del hardware del dispositivo. El objetivo de las librerías es
proporcionar agilidad a las aplicaciones para tareas cotidianas o repetitivas,
así se evita el recodificarlas cada vez y garantizando la eficiencia de la aplicación.
Normalmente son creadas por el fabricante, el cual se encarga de instalarlas en
el dispositivo antes de ponerlo a la venta.
Entre las librerías incluidas en el sistema Android
encontramos:
·
El motor gráfico OpenGL: encargado de crear los
graficos q se muestran en pantalla.
·
Bibliotecas multimedia. que contienen formatos
de audio, imagen y video.
·
El navegador o Webkit: que nos permite la
gestión cliente servidor para las funciones d coneccion web.
·
El cifrado de comunicaciones SSL: que nos
permite proteger las trasmiciones del webkit.
·
Fuentes de texto FreeType: encargadas de mostrar
la tipografía utilizada por el mismo sistema y las aplicaciones.
·
Base de datos SQLite: almacena la información
usada por el sistema operativo y las aplicaciones, haciendo en parte de
registro de sistema y en parte base de datos de aplicación.
Entorno de ejecución:
en el diagrama podemos apreciar que el entorno de ejecución no se cuenta como
una capa en sí mismo, sino como dentro de una clase dentro de la misma capa dado
que también está formado por las mismas librerías, en las cuales encontramos
tanto las funcionalidades típicas de java como las propias de Android.
La máquina virtual Dalvik es el componente principal del
entorno de ejecución, de ejecutar las aplicaciones que han sido previamente
compiladas del código java original a un formato específico, esto representa
una gran ventaja pues así a diferencia del java original pues asi las
aplicaciones se compilan una sola vez y así estarán listas para distribuirse
con la seguridad que se ejecutaran en cualquier dispositivo Android que posea
al menos la versión minima del sistema operativo que requiera la aplicación.
El Dalvik en sí mismo es una variación de la máquina virtual
de java original y es por esto que el
bytecode Java no es compatible, pues el lenguaje java solo se usa como lenguaje
de programación dada la gran aceptación en el ambiente informático, después son
compilados en el SDK de Android bajo la extensión espesifica “.dex” para que
Dalvik lo pueda interpretar, y por ello no podemos ejecutar aplicaciones Java
en Android ni viceversa.
Marco de aplicación (Framework):
Esta capa está conformada en su mayoría por librerías java que acceden a los
recursos de las capas anteriores por medio de la MV Dalvik. En esta capa
encontraremos los servicios y las clases que interactúan con las funciones que
ejecutan las aplicaciones, en la siguiente lista aclaro un poco las funciones
de cada librería:
·
Administrador
de actividades. Encargado de controlar el ciclo de vida y la pila de
actividades de nuestra aplicación.
·
Administrador
de ventanas. Crea y gestiona las instancias de aplicación que se mostraran
en la pantalla.
·
Proveedor
de contenidos. Esta librería controla la forma en la que se accesa a la
información y encripta los datos que se compartirán entre aplicaciones.
·
vistas.
Esta librería contiene los controles básicos que contienen las interfaces de
usuario tales como: botones, etiquetas, cuadros de texto, listas y hasta
elementos más avanzados como un navegador web o un visor de Google Maps.
·
Administrador
de notificaciones. Esta librería nos permite controlar los sonidos, activa
el vibrador, enciende los leds en caso de que el dispositivo cuente con ellos y
en general engloba todos los servicios para notificar al usuario cuando algo
requiera su atención.
·
Administrador
de paquetes. Esta librería nos permite gestionar todo lo relacionado con la
paquetería de nuestro dispositivo Android, tal como: su instalación,
información general o específica del paquete. Al mencionar la palabra paquete nos referimos
al archivo .apk, que contiene dentro de si los archivos “.dex” con todos los
recursos y archivos adicionales que necesite la aplicación, para facilitar su
descarga e instalación.
·
Administrador
de telefonía. Como su nombre lo indica, esta librería nos permite gestionar
las telecomunicaciones de nuestro dispositivo, es la encargada de la recepción
y recibo de: llamadas, sms y mms. Un dato curioso es que no permite eliminar o
remplazar la actividad que se muestra cuando se ejecuta una llamada.
·
Administrador
de recursos. Con esta librería nos es posible gestionar los recursos que se
encuentran fuera del código fuente de una aplicación, como imágenes, capas,
sonidos y etiquetas que se pueden traducir en varios idiomas.
·
Administrador
de ubicaciones. mediante GPS o redes disponibles ubica la posición
geográfica del dispositivo Android para trabajar con mapas.
·
Administrador de censores. Proporciona acceso a
elementos de hardware del dispositivo tales como el acelerómetro, giroscopio,
sensor de luminosidad, sensor de campo magnético, brújula, sensor de presión,
sensor de proximidad, sensor de temperatura, etc.
·
Cámara:
gracias a esta librería es posible para tomar fotografías o grabar vídeo haciendo uso de las cámaras disponibles en el dispositivo.
·
Multimedia.
Controla el acceso al audio, vídeo e imágenes en el dispositivo, permitiendo
así las funciones de preproducción a las que estamos acostumbrados.
Aplicaciones: en
esta última capa se albergan todas las aplicaciones del dispositivo, tanto las
aplicaciones de sistema, las
aplicaciones con interfaz de usuario, el menú de inicio (home) y también el
propio lanzador (launcher), que es la aplicación con interfaz de usuario encargada
de mostrarnos diferentes escritorios en los cuales podremos crear accesos
directos a nuestras aplicaciones.
Visto esto notamos que Android en si es uno de los sistemas
empotrados de más fácil manejo y accesibilidad, si bien a grandes rasgos no es más
que un sistema operativo emulado dentro de un núcleo de abstracción, podemos
apreciar el enorme poder que el escritorio Android trata de brindarle al
usuario con el control total del dispositivo para personalizarlo a su medida.
No hay comentarios:
Publicar un comentario