Las piezas clave que hacen que Android funcione

Autor: | Posteado en Android Sin comentarios

Arquitectura de Android: así es el sistema operativo por dentro

Escuchamos hablar mucho de Android® y de sus partes, no obstante ¿de verdad las conoces? A continuidad vamos a inventar un repaso desde el kernel hasta las aplicaciones para mirar que partes posee vuestro androide por dentro. Comprender su estructura nos asistencia a entender cambios que se elaboran en ella y las modificaciones a través de ROMs.

Con cada versión-RC de Android® nos preguntamos que tienen los productores que cambiar y porque tardan tanto. Con cada ROM que vemos nos hallamos términos rarísimos como “kernel”. ¿Qué es el Kernel? Vamos con calma a mirar todo esto, no obstante eso si, todo está redactado para que sea entendido por una mayoría, no te lleves las manos a la cabeza si algo no logra tu alto nivel de conocimiento.

La arquitectura de Android, capas en vez de ladrillos

Arquitectura de Android: así es el sistema operativo por dentro

La imagen que encabeza estas lineas es como el faro que nos marca el camino en este artículo. Todo se basa en ello así que pon a laborar tu memoria fotográfica o el scroll para subir a echarle un vistazo. En ella se anuncian las diferentes capas de la arquitectura de Android® como Sistema Operativo.

Puede entenderse de manera que una capa superior posee ingreso a todas las que están por debajo, siendo el kernel la parte que menos accede, pues solo interactúa con el hardware(periféricos) y la que más, las apps que usan el resto del sistema.

Linux Kernel

Linux-3.3-Android

Como probablemente habrás escuchado, Android está entró en Linux, que a su vez está entró en UNIX. Es algo común, pues hasta macOS se basa en UNIX. En el otro lado se descubre Windows® entró en MS-DOS.

El Kernel gobierna el hardware(periféricos) gracias a los drivers de los componentes.

El Kernel es la parte que gobierna al hardware, donde se encuentran los drivers de cada componente. Desde los drivers del procesador(CPU) y la cámara hasta los del acelerómetro o la brújula. Al contrario de como podemos inventar en Windows, en Android® un cliente no puede instalar sus propios drivers sin cambiar el sistema.

Esto supone un problema para la idea de smartphone modular, pues cada patrón que existiera para ese celular tendría que existir su driver por lo que requeriría de una actualización por patrón lanzado asimismo de que todos los teléfonos acabarían mirando crecer el espacio del sistema, pues una actualización te pondría el driver sin embargo no compraras el modulo. Para inventar esta idea realidad habría que cambiar muchas cosas en la forma de funcionar de Android® en conjunto.

Al tener los drivers del hardware es la parte que traduce lo que detecta éste o bien que le dice que inventar en cada ocasión. Sobre lo que sería un Kernel Linux® normal, Android® añade algunas características como los wake locks que gestionan de una manera violeta la memoria en uso o el Binder IPC del que luego hablaremos.

HAL: Hardware Abstraction Layer

HAL

Android posee en su interior HAL, no obstante no a HAL 9000, así que no hay de que preocuparse. Es más, gracias a esta parte disponemos de una plataforma tan abierta en cuanto a hardware(periféricos) con efectos mínimos para los programadores tanto del sistema como de aplicaciones.

HAL es la capa que traduce lo que pide el driver (hardware) a lo que envía el sistema.

HAL, Hardware Abstraction Layer o en español, capa de abstracción de hardware trabaja sobre el Kernel de tal manera que permite al sistema laborar continuamente con las mismas “instrucciones” sin embargo el hardware(periféricos) cambie. La HAL se encarga de convertir las directrices que piden los drivers a una serie de directrices genéricas para Android.

De esta manera, por ejemplo, para prender la pantalla android le dirá “enciende la pantalla” al HAL, no obstante en un celular el driver pedirá “enciende la pantalla amoled hd73649” y en otro “pantalla prender ahora”. El elaborador debe especificar en el HAL cual es la orden de “enciende la pantalla” que pide el driver en el kernel.

Sistema Android

Sistema

Aquí viene lo fuerte. Ya disponemos del hardware, tenemos a la vez los drivers para controlarlo y tenemos HAL para controlarlo en cualquier aparato sin tener que cambiar la forma de hacerlo. ¡Ya podemos darle un corazón a vuestro androide! En sí, un cerebro pues en esta capa se descubre el sistema Android.

A este nivel de la arquitectura nos hallamos la máquina virtual Java y las librerías del sistema.

Nos hallamos con el sistema de permisos de Android, con las librerias del sistema como OpenGL o Vulkan para gráficos, de las que tanto se habla ultimamente. También la máquina virtual de Java, en su tiempo era Dalvik no obstante desde Android® 5.0 se migró a ART (Android RunTime). Es la que nos admite ejecutar código en lenguaje Java (el que usan la mayoría de aplicaciones).

A su vez sobre esta capa estarán las más relacionadas por las apps así que debe ser la encargada de manejar todas las API(Interfaz Programación Aplicaciones) de sistema que usan los programadores de aplicaciones. Nos hallamos el media server, la parte encargada de que las características multi media del aparato funcionen bien, como por ejemplo de manejar el volumen o decidir que sonidos saldrán por el altavoz. También hallamos el system server que se encarga de las características del sistema como manejar la multitarea o las aplicaciones.

Android framework

Android framework

Un framework, en español estructura o armazón, quiere declarar en programación una serie de ayudas sobre las que inventar contenido. En este caso, el Android® framework contiene todo lo que se requiere para inventar una app Android.

El Android® Framework es la estructura sobre la que se montan las apps Android.

Hablamos de cosas como las Activity que son las diferentes pantallas de una aplicación, aspectos de la interfaz de usuario o la gestión de notificaciones. Un programador de apps usará la estructura que le de el Android® framework para inventar su app y la API(Interfaz Programación Aplicaciones) del Sistema Android® (la capa anterior) para dotarla de funciones. Pues puedes tener la estructura de una app de reloj, no obstante de nada funciona si no teneis la API(Interfaz Programación Aplicaciones) que te proporciona la hora actual.

Sobre esta capa ya solo existe una, las propias aplicaciones.

Binder IPC

Android

Imagen de Aleksandar Gargenta

Nos hemos dejado una cosa, el Binder. Se descubre en el Kernel como un driver más no obstante no se corresponde a ningún tipo de hardware. A su vez, en la imagen que hemos anunciado al inicio aparece el Binder Proxy entre el sistema y el framework Android. ¿Qué es?

Binder es la parte encargada de vincular los procesos de las apps con el sistema y otras capas.

IPC corresponde a Inter-Process Comunication (Comunicación interprocesos). Está entró en OpenBinder, inventado por Be Inc para BeOS en 2001 no obstante adquirido por PalmSource y usado por 1.ª vez en Palm Cobalt OS. En 2008 se usó para Android® no obstante reescribiéndolo desde cero para adaptarlo al máximo.

Se trata de una parte indispensable para Android pues es la que admite a los procesos, las apps en ejecución, relacionarse con otros procesos de otras partes del sistema. El ejemplo más claro es que a la hora de inventar una app el framework de Android® nos proporciona configurar que ocurra algo al inventar la app (onCreate()) o cuando se vuelva a abrir sin haberse cerrado (onResume()). Esto es probable gracias al Binder.

Binder relaciona los diferentes procesos, en el caso de cuando se abre una aplicación, establece una comunicación entre el proceso del sistema y el de la app para que la app sepa que se ha abierto. Un ejemplo sencillo, no obstante en la práctica es bastante más complicado.

Resumiendo mucho, admite la comunicación entre capas de vuestra imagen del inicio (sin bajar más allá del sistema android).

Esto posee vuestro androide dentro

Esto posee vuestro androide dentro

Ahora ya conoces que posee vuestro querido androide por dentro, desde el hardware(periféricos) más puro que hasta lo puedes tocar hasta el programa informático en forma de apps que utilizamos día(24hrs) a día.

Siempre va bien tener conocimientos, pues ahora que sabes un poco más de Android® entenderás mejor la importancia de algunos cambios en su estructura o en las ROMs. El trabajo de un programador de ROMs es gigante, es modificar y cuadrar todas estas partes al igual que los productores con cada actualización.

La entrada Las piezas clave que crean que Android® funcione aparece 1.º en El Androide Libre.


El Androide Libre


La noticia pertenece a las fuentes publicadas arriba, no somos autores ni tampoco nos pertenece la noticia, solo somos un medio para masificar la noticia a los usuarios.


Puedes Descargar Aquí : Link de Mega

Todos los trucos para tu teléfono 2016

También puedes revisar estas noticias relacionadas.

Noticias relacionadas:

Agrega tu comentario