lunes, 6 de julio de 2015

Segunda parte Sistema operativo Android

En palabras de García Padilla, en la tesis de pregrado publicada el año 2011 con el título “Aplicación Android para Supermercados”, Android es un sistema operativo móvil basado en Linux, que junto con aplicaciones middleware está enfocado para ser utilizado en dispositivos móviles como Smartphone, tabletas, etc. Es desarrollado por un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio, la cual es liderada por Google. Los componentes principales del sistema operativo Android son: (1) Aplicaciones. Las aplicaciones base incluyen un cliente de correo electrónico, programa de mensaje de texto, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones están escritas en lenguaje de programación Java. (2) Marco de trabajo de aplicaciones. Los desarrolladores tienen acceso completo a las mismas interfaces de programación de aplicaciones del marco de trabajo utilizado por las aplicaciones base. 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 marco de trabajo. Este mismo mecanismo permite que los componentes sean remplazados por el usuario. (3) Bibliotecas. Android incluye un conjunto de bibliotecas de los lenguajes C y C++ usadas por varios componentes del sistema. Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones de Android. Algunas son: Implementación de la biblioteca C estándar, bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras. (4) Runtime de Android. Android incluye un conjunto 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 ejecutable (.dex), el cual está optimizado para memoria mínima. La máquina virtual está basada en registros y ejecuta clases compiladas por el compilador de Java que se transformaron al formato .dex por la herramienta incluida “dx”. (5) 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.

En la tesis de Aranaz, publicada el año 2011 con el titulo “Desarrollo de aplicaciones para dispositivos móviles sobre la plataforma Android de Google”, se hace referencia a una visión global por capas acerca de la arquitectura de Android. Cada una de estas capas utiliza servicios ofrecidos por las anteriores, y ofrece a la vez los suyos propios a las capas de niveles superiores. La capa más inmediata es la que corresponde al núcleo de Android. El sistema operativo Android utiliza el núcleo de Linux 2.6 como una capa de abstracción para el hardware disponible en los dispositivos móviles. Esta capa contiene los drivers necesarios para que cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes. Siempre que un fabricante incluya un nuevo elemento de hardware, lo primero que se debe realizar para que pueda ser utilizado desde Android es crear las bibliotecas de control necesarias dentro de este kernel de Linux embebido en el propio Android. La elección de Linux 2.6 se debe principalmente a dos razones: La primera, su naturaleza de código abierto y libre se ajusta al tipo de distribución que se buscaba para Android; la segunda es que el kernel de Linux incluye de por sí numerosos drivers, además de contemplar la gestión de memoria, gestión de procesos, módulos de seguridad, comunicación en red y otras muchas responsabilidades propias de un sistemas operativo.

La siguiente capa se corresponde con las bibliotecas utilizadas por Android. Éstas han sido escritas utilizando el lenguaje C o el lenguaje C++ y proporcionan a Android la mayor parte de sus capacidades más características. Junto al núcleo basado en Linux, estas bibliotecas constituyen el corazón de Android. Entre las bibliotecas más importantes de este nivel, se pueden mencionar las siguientes: (1) La biblioteca libc incluye todas las cabeceras y funciones según el estándar del lenguaje C. Todas las demás bibliotecas se definen en este lenguaje. (2) La biblioteca Surface Manager es la encargada de componer los diferentes elementos de navegación de pantalla. Gestiona también las ventanas pertenecientes a las distintas aplicaciones activas en cada momento. (3) OpenGL/SL y SGL representan las bibliotecas gráficas y, por tanto, sustentan la capacidad gráfica de Android. OpenGL/SL maneja gráficos en tres dimensiones y permite utilizar, en caso de que esté disponible en el propio dispositivo móvil, el hardware encargado de proporcionar gráficos en tres dimensiones. (4) La biblioteca Media Libraries proporciona todos los códecs necesarios para el contenido multimedia soportado en Android, entre las cuales se cuenta: Vídeo, audio, imágenes estáticas y animadas, y otros. (5) FreeType, permite trabajar de forma rápida y sencilla con distintos tipos de fuentes. (6) La biblioteca SSL posibilita la utilización de dicho protocolo para establecer comunicaciones seguras. (7) A través de la biblioteca SQLite, Android ofrece la creación y gestión de bases de datos relacionales, pudiendo transformar estructuras de datos en objetos fáciles de manejar por las aplicaciones. (8) La biblioteca WebKit proporciona un motor para las aplicaciones de tipo navegador, y forma el núcleo del actual navegador incluido por defecto en la plataforma Android. Al mismo nivel que las bibliotecas de Android se sitúa el entorno de ejecución. Éste lo constituyen las bibliotecas de núcleo, que son librerías con multitud de clases de Java, y la máquina virtual Dalvik.

No hay comentarios:

Publicar un comentario