martes, 16 de febrero de 2016

Arquitectura del Sistema Operativo Android

Android es un sistema operativo creado para ser independiente de cualquier tipo de arquitectura de hardware en los dispositivos móviles. Esta característica hace que sea tan atractivo ante los fabricantes y desarrolladores.

Adicionalmente su portabilidad, flexibilidad y seguridad les da ese toque de simpatía a las personas interesadas en los sistemas de código abierto.
La arquitectura de Android debe ser estudiada antes de comenzar a programar. Por tal motivo, en este artículo veremos cómo está constituido el interior de Android. Estudiaremos sus características de operación en tiempo real y en que formato de archivo se encapsula una aplicación Android.

Modelo De Capas En La Arquitectura De Android

Android está construido con una arquitectura de 4 capas o niveles relacionados entre sí.
Arquitectura de Android


kernel De Linux


Android está construido sobre el núcleo de Linux, pero se ha modificado dramáticamente para adaptarse a dispositivos móviles.El núcleo actúa como una capa de abstracción entre el hardware y el resto de las capas de la arquitectura. El desarrollador no accede directamente a esta capa, sino que debe utilizar las librerías disponibles en capas superiores. De esta forma también nos evitamos el hecho de quebrarnos la cabeza para conocer las características precisas de cada teléfono. Si necesitamos hacer uso de la cámara, el sistema operativo se encarga de utilizar la que incluya el teléfono, sea cual sea. Para cada elemento de hardware del teléfono existe un controlador (o driver) dentro del kernel que permite utilizarlo desde el software.

El kernel también se encarga de gestionar los diferentes recursos del teléfono (energía, memoria, etc.) y del sistema operativo en sí: procesos, elementos de comunicación (networking), etc.



Librerías

La siguiente capa que se sitúa justo sobre el kernel la componen las bibliotecas nativas de Android, también llamadas librerías. Están escritas en C o C++ y compiladas para la arquitectura hardware específica del teléfono. Estas normalmente están hechas por el fabricante, quien también se encarga de instalarlas en el dispositivo antes de ponerlo a la venta. El objetivo de las librerías es proporcionar funcionalidad a las aplicaciones para tareas que se repiten con frecuencia, evitando tener que codificarlas cada vez y garantizando que se llevan a cabo de la forma “más eficiente”.

Entre las librerías incluidas habitualmente encontramos OpenGL (motor gráfico), Bibliotecas multimedia (formatos de audio, imagen y video), Webkit (navegador), SSL (cifrado de comunicaciones), FreeType (fuentes de texto), SQLite (base de datos), entre otras.En esta capa se encuentran partes como la HAL, librerías nativas, demonios, las herramientas de consola y manejadores en tiempo de ejecución.



Entorno de ejecución

Como podemos apreciar en el diagrama, el entorno de ejecución de Android no se considera una capa en sí mismo, dado que también está formado por librerías. Aquí encontramos las librerías con la funcionalidades habituales de Java así como otras específicas de Android.

El componente principal del entorno de ejecución de Android es la máquina virtual Dalvik. Dalvik no cambia nada en el proceso de compilación, sencillamente interviene al final como receptor de un archivo ejecutable producto de una recopilación de los archivos .class de java.El primer paso es generar el código fuente (arhivos .java), luego este es traducido por el Java Compiler (javac) y obtenemos un fichero tipo byte code (archivos .class). Finalmente la máquina virtual de Java (JVM) interpreta en tiempo real este archivo y la aplicación es ejecutada.

La ejecución de Dalvik es ingeniosa, simplemente espera que javac traduzca la aplicación a byte codes, cuando están listos los archivos, estos son compilados por el compilador Dex. Esta herramienta traduce los byte codes de java a un estilo de byte codes nativos que serán convertidos a un ejecutable .dex. Finalmente este archivo es ejecutado por una instancia de Dalvik VM.

framework Para Aplicaciones

Esta es la capa que nos interesa a los desarrolladores, ya que en ella encontramos todas las librerías Java que necesitamos para programar nuestras aplicaciones. Los paquetes con más preponderancia son los android.*, en ellos se alojan todas las características necesarias para construir una aplicación Android.

No obstante es posible acceder a clases como java.utils.*, java.net.* , etc. Aunque hay librerías Java excluidas como la java.awt.* y java.swing.*.

En esta capa también encontraremos manejadores, servicios y proveedores de contenido que soportaran la comunicación de nuestra aplicación con el ecosistema de Android

Está formada por todas las clases y servicios que utilizan directamente las aplicaciones para realizar sus funciones. La mayoría de los componentes de esta capa son librerías Java que acceden a los recursos de las capas anteriores a través de la máquina virtual Dalvik.

Aplicaciones

En la última capa se incluyen todas las aplicaciones del dispositivo, tanto las que tienen interfaz de usuario como las que no, las nativas (programadas en C o C++) y las administradas (programadas en Java), las que vienen preinstaladas en el dispositivo y aquellas que el usuario ha instalado.

En esta capa encontramos también la aplicación principal del sistema: Inicio (Home) o lanzador (launcher), porque es la que permite ejecutar otras aplicaciones mediante una lista y mostrando diferentes escritorios donde se pueden colocar accesos directos a aplicaciones o incluso widgets, que son también aplicaciones de esta capa.

lunes, 15 de febrero de 2016

Sistemas Operativos Comerciales

Un sistema operativo comercial, son aquellos que las compañías lo producen y cobran dinero por el producto, su distribución o soporte, este recurso económico se emplea para para licencias, salario a lo programadores, por ejemplo:Microsoft.
Para adquirirlos debes pagar, su código no ofrece ningún  modo y está prohibido legalmente su adquisición sin haberlo comprado legalmente o a la modificación de su código,para lo cual no se ofrece ningún tipo de ayuda.El Mac OS X es uno de los mas conocidos y utilizados por los usuarios, 

Las ventajas de los operativos comerciales son:
-Mas sencillo de utilizar.

-Mas interactivo.
-Tiene soporte técnico.
-Aplicaciones desarrolladas en menor tiempo.
La desventajas de un dispositivo móvil comercial podrían ser:
-Muy caro.
-No se pueden distribuir copias.
-La mayoría de los sistemas operativos comerciales son vulnerables a los virus,

Procesadores para Dispositivos Moviles

Tras el paso de los años la elección de un celular se ha reducido prácticamente a la elección de un procesador. En la actualidad los procesadores más utilizados , están basados en la tecnología SYS-TEM ON  A CHIP (SOC), esto significa que se integra en un solo chip, todos o gran parte de los componentes de un dispositivo móvil que cumplen otras funciones como por ejemplo: GPS, procesamiento de gráficos,sonido,etc.
El procesador en pocas palabras es el cerebro del dispositivo móvil en donde se realizan los procesos u operaciones que hace el dispositivo móvil.El procesador esta conectado generalmente a la placa base y suele tener un método de refrigeración, sean ventiladores  o sea un disparador de calor gracias a materiales de gran conductividad térmica.
Lo que todos escuchamos de un procesador son los GHz(gigahercios), es una medida del rendimiento del procesador que indica la frecuencia de reloj o lo que es lo mismo, la cantidad de operaciones que puede registrar por unidad de tiempo y se miden en Hz(Hercios), lo cual son ciclos por segundo.

Existen infinitas formas de diseñar un procesador,la forma en que esta diseñado un procesador internamente es lo que llamamos su "arquitectura".
Los procesadores ARM tienen una arquitectura distinta a estos procesadores tipicos de ordenador.Los procesadores x86 son muy eficientes en cálculos muy complejos, pero tara tareas simples de móviles y tablets, usar un procesadores x86 es "matar  moscas con cañones", en estos casos un procesador ARM puede ser mas eficientes y tener menos consumo.

lunes, 8 de febrero de 2016

Como hacer un blog en blogger

En este breve artículo te explicamos cómo iniciarte en Blogger de manera simple y rápida, enfatizando los puntos clave a tener en cuenta para la creación de tu blog.  

Paso 1: Tener una cuenta en Gmail.
Si no tienes una cuenta en Gmail,tienes que crear una,para poder crear tu blog deberás tener una cuenta de correo electrónico en Gmail.
Paso 2: Entrar en Blogger
Ingresa a la página web http:/blogger.com,si ya tienes una cuenta creada en Gmail,Youtube o algunos de los servicios Google solo tienes que escribir en los campos de Iniciar Secion, tu nombre de usuario y contraseña.Puedes crearte un perfil de Blogger o usar tu perfil de Google.
Paso 3:
Una cuenta puede tener 100 blogs como máximo,
1.Arriba a la izquierda haz clic en "Nuevo Blog"


2.En el cuadro de diálogo que aparece, escribe un nombre o un título principal para tu blog
3.Elige la dirección (URL) de tu blog,es la que utilizarán los lectores para ver tu blog.
4.Cuando ya tengas el nombre y la dirección de tu blog elige una pantalla.Haz clic en "Crear blog"

CONSEJO:
Para elegir el nombre y la dirección de tu blog, piensa en su tema, en su público o en su ubicación.