viernes, 5 de junio de 2015

Ahora veremos La: "Arquitectura de la Plataforma Android"

Arquitectura  De La Plataforma Android

Android es una plataforma para dispositivos móviles que contiene una pila de software donde se incluye un sistema operativo, middleware y aplicaciones básicas para el usuario.



o Cada una de estas capas utiliza servicios ofrecidos por las anteriores, y ofrece a su vez los suyos propios a las capas de niveles superiores, tal como muestra la siguiente Imagen:



Aplicaciones:

 Este nivel contiene, tanto las incluidas por defecto de Android como aquellas que el usuario vaya añadiendo posteriormente, ya sean de terceras empresas o de su propio desarrollo. Todas estas aplicaciones utilizan los servicios, las API y librerías de los niveles anteriores.


Framework de Aplicaciones:

  •  Representa fundamentalmente el conjunto de herramientas de desarrollo de cualquier aplicación. Toda aplicación que se desarrolle para Android, ya sean las propias del dispositivo, las desarrolladas por Google o terceras compañías, o incluso las que el propio usuario cree, utilizan el mismo conjunto de API y el mismo "framework", representado por este nivel.

  • Proporciona una plataforma abierta para el desarrollo que permite la reutilización de componentes.

  • A través del framework, el desarrollador puede acceder a los dispositivos, información de ubicación, ejecutar servicios, etc.

  •  Las aplicaciones del core utilizan este mismo APls framework.



Librerías:

La siguiente capa se corresponde con las librerías utilizadas por Android. Éstas han sido escritas utilizando C/C++ y proporcionan a Android la mayor parte de sus capacidades más características. Junto al núcleo basado en Linux, estas librerías constituyen el corazón de Android.


Entre las librerías más importantes ubicadas aquí, se pueden encontrar las siguientes:

  •  Librería libc: Incluye todas las cabeceras y funciones según el estándar del lenguaje C. Todas las demás librerías se definen en este lenguaje.
  • Librería 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.
  • OpenGL/SL y SGL: Representan las librerías gráficas y, por tanto, sustentan la capacidad gráfica de Android. OpenGL/SL maneja gráficos en 3D y permite utilizar, en caso de que esté disponible en el propio dispositivo móvil, el hardware encargado de proporcionar gráficos 3D. Por otro lado, SGL proporciona gráficos en 2D, por lo que será la librería más habitualmente utilizada por la mayoría de las aplicaciones.
  •  Librería Media Libraries: Proporciona todos los códecs necesarios para el contenido multimedia soportado en Android (vídeo, audio, imágenes estáticas y animadas, etc.)
  • FreeType: Permite trabajar de forma rápida y sencilla con distintos tipos de fuentes.
  •  Librería SSL: Posibilita la utilización de dicho protocolo para establecer comunicaciones seguras.
  •  Librería SQLite: Creación y gestión de bases de datos relacionales.
  •  Librería 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.



Tiempo de ejecución de Android:


  • Al mismo nivel que las librerías de Android se sitúa el entorno de ejecución. Éste lo constituyen las Core Libraries, que son librerías con multitud de clases Java y la máquina virtual Dalvik.
  • Core Libraries: Formado por un conjunto de librerías base para ofrecer funcionalidad funcionalidad elemental y de bajo nivel, escritas en C y en C++.
  • Utiliza el Kernel de Linux para la ejecución de aplicaciones (1 aplicación= 1 proceso= 1 DVM).
  • Máquina Virtual Dalvik con código preparado teniendo en cuenta la duración de las baterías y la limitación de memoria.



Núcleo Linux:

 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 incluye un nuevo elemento de hardware, lo primero que se debe realizar para que pueda ser utilizado desde Android es crear las librerías de control o drivers necesarios dentro de este kernel de Linux embebido en el propio Android, Android aprovecha:

o La Seguridad

o Gestión de Memoria

o Gestión de procesos

o Red y modelo de Drivers





No hay comentarios:

Publicar un comentario