Você está na página 1de 18

Sistema Operativo Android

República Bolivariana de Venezuela

Ministerio de Educación Superior

Instituto Universitario Politécnico

“Santiago Mariño”

Sede Barcelona

Android
Profesor: Integrantes:

Ing. López Ricardo Rottenberg Erni C.I. 18.204.448

Ocque, Freida C.I. 20.635.609

Tovar, Raul C.I. 19.611.367

Cordova, Oscar C.I 19.168.610

Barcelona, Diciembre de 2010

Índice
SO Android Pá gina 1
Sistema Operativo Android
Temas………………………………………….……………………Pag.

Introducción……………………………………………………….... 3

Definición de Android……………………………………….……....4

Conjuntos de Servicios y Sistemas…………………………….….....5

Bibliotecas del Núcleo……………………………………………….6

Componentes Esenciales………………………………………….…7

Entorno de ejecución de aplicaciones………………………………..9

Interfaz de Usuario………………………………………………..…9

Principales características………………………………………......11

Aplicaciones……………………………………………………..…11

Estructura de las aplicaciones…………………………………..…..12

Librerías…………………………………………………………….13

Entorno de Ejecución de Android……………………………….....14

Conclusiones…………………………………………………...…..16

Anexos…………………………………………………………...…17

Bibliografía…………………………………………………………18

Introducción

SO Android Pá gina 2
Sistema Operativo Android
Tenga en cuenta el uso de memoria en los sistemas operativos
modernos como Linux es un extremadamente complicada y difícil de
entender el área. De hecho, las posibilidades de que realmente
correctamente interpretar cualquier números obtendrá es extremadamente
baja. (Prácticamente cada vez que se lo miro a los números de uso de
memoria con otros ingenieros, siempre hay una larga discusión sobre lo
que realmente significan que sólo da como resultado una conclusión vaga.)

Ahora ActivityManager.getMemoryInfo() es nuestra API de más alto nivel


para mirar el uso de la memoria global. Esto es en su mayoría allí ayudar a
una aplicación a medir cuán cerca el sistema está llegando a no tener más
memoria para procesos en segundo plano, por lo que necesitaba empezar a
matar necesita procesos como servicios. Para aplicaciones de Java puras,
esto debería ser de poca utilidad, ya que el límite de montón de Java existe
en parte evitar una aplicación de ser capaz de hacer hincapié en el sistema a
este punto.

Va de nivel inferior, puede utilizar la API de depuración para obtener crudo


nivel de kernel.

Que es Android?

SO Android Pá gina 3
Sistema Operativo Android
Android es una plataforma de software para dispositivos móviles que
incluye un sistema operativo, middleware y aplicaciones clave. El SDK de
Android proporciona las herramientas y APIs necesarios para comenzar el
desarrollo de aplicaciones en la plataforma Android usando el lenguaje de
programación Java..

El siguiente diagrama muestra los componentes principales del


sistema operativo Android. Cada sección se describe con más detalle a
continuación

Android ya incluye un conjunto de aplicaciones básicas que incluye


un cliente de correo electrónico, programa de SMS, calendario, mapas,
navegador, contactos, y otros. Todas estas aplicaciones se escriben usando
el lenguaje de programación Java.

Al proporcionar una plataforma de desarrollo abierto, Android ofrece


a los desarrolladores la capacidad de crear aplicaciones muy ricas e
innovadoras. Los desarrolladores son libres de tomar ventaja del hardware
del dispositivo, información sobre la ubicación de acceso, ejecutar servicios

SO Android Pá gina 4
Sistema Operativo Android
de fondo, establecer alarmas, añadir las notificaciones de la barra de estado,
y mucho, mucho más.

Los desarrolladores tienen pleno acceso a las API del


framework utilizado por las aplicaciones principales. La arquitectura de la
aplicación está diseñada para simplificar la reutilización de componentes, y
cualquier aplicación puede publicar sus capacidades y cualquier otra
aplicación podrá entonces hacer uso de esas capacidades (sujeto a
restricciones de seguridad impuestas por el framework). Este mismo
mecanismo permite que los componentes se sustituyan por el usuario.

Conjuntos de Servicios y Sistemas

Detrás de todas las aplicaciones hay un conjunto de servicios y sistemas,


incluyendo:

• Un amplio conjunto de puntos de vista y extensible que se puede utilizar


para crear una aplicación, incluidas las listas, redes, cajas de texto, botones,
e incluso un navegador web embebido.

• Los proveedores de contenido que permiten a las aplicaciones de acceso a


datos de otras aplicaciones (por ejemplo, Contactos), o para compartir sus
propios datos

• Un administrador de recursos, facilitar el acceso a los recursos no son de


código como cadenas localizadas, gráficos y archivos de diseño.

• Un Administrador de notificaciones que permite a todas las aplicaciones


para mostrar alertas personalizadas en la barra de estado.

SO Android Pá gina 5
Sistema Operativo Android
• Un gestor de actividad que gestiona el ciclo de vida de las aplicaciones y
proporciona una navegación backstack común.

Android incluye un conjunto de C / C + + utilizado por diversos


componentes del sistema Android. Estas capacidades están expuestas a los
desarrolladores a través de la estructura de aplicaciones para Android.
Algunas de las bibliotecas del núcleo son los siguientes

System C library

Media Libraries

Surface Manager

LibWebCore

SGL

3D libraries

FreeType

SQLite

Android incluye un conjunto de bibliotecas del núcleo que


proporciona la mayor parte de la funcionalidad disponible en las bibliotecas
del núcleo del lenguaje de programación Java.

Cada aplicación Android se ejecuta en su propio proceso, con su


propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito para
que un dispositivo puede ejecutar múltiples máquinas virtuales de manera
eficiente. La máquina virtual Dalvik ejecuta archivos ejecutables en el
Dalvik (. Dex), formato que está optimizado para consumo de memoria

SO Android Pá gina 6
Sistema Operativo Android
mínima. El VM es basado en registros, y corre clases compiladas por un
compilador del lenguaje Java que se han convertido en el formato de dex.
Incluido el "dx" herramienta.

La máquina virtual Dalvik se basa en el kernel de Linux para la


funcionalidad subyacente como enhebrar y administración de bajo nivel de
memoria

Al igual que sus hermanos presentes en equipamientos informáticos


más grandes y complejos, un sistema operativo móvil también se encuentra
compuesto por varias capas.

Componentes Esenciales de este Software

A continuación te contamos cuáles son los componentes esenciales


de este software que llevan los teléfonos celulares.

Kernel

Una de las más importantes y esenciales piezas que componen


cualquier sistema operativo, sea el de nuestro móvil, o el de la PC, es el
denominado núcleo o Kernel, el cual es la capa de software que permite el
acceso a los diferentes elementos de hardware que conforman nuestro
móvil.

También es el encargado de brindar diferentes servicios a las capas


superiores como los controladores de hardware, gestión de procesos,
sistemas de archivos, además del acceso y administración de la memoria
del sistema.

SO Android Pá gina 7
Sistema Operativo Android
Los sistema operativos para móviles pueden basarse en núcleos
Linux, tal como lo hace Android, o hasta inclusive IOS, el SO del iPhone
que utiliza un kernel heredado de Unix.

También en una gran cuota del mercado se encuentra presente


Windows Mobile y RIM que utilizan kernels propios.

En el caso de Android y el de RIM, ambos sistemas operativos


presentan la particularidad de contar con un motor java en el desarrollo de
sus núcleos.

Middleware

Esta capa o Middleware es el conjunto de módulos que permite que


las aplicaciones diseñadas y escritas para tales plataformas puedan ser
ejecutadas.

Su funcionamiento es totalmente trasparente para el usuario, no


debiendo realizar ninguna acción ni configurar alguna para su correcto
desenvolvimiento.

El Middleware brinda la posibilidad de ejecutar servicios muy


importantes para que otras aplicaciones, en capas superiores de la jerarquía,
puedan ejecutarse.

Estos servicios, como mencionamos son vitales para el normal


funcionamiento de la estructura del sistema operativo de nuestro móvil.

Entre los servicios que presta esta capa podemos citar los motores de
comunicaciones y mensajería, funciones de seguridad, servicios para la
gestión de diferentes aspectos del móvil, ofrece servicios claves como el

SO Android Pá gina 8
Sistema Operativo Android
motor de mensajera y comunicaciones, codecs multimedia, intérpretes de
páginas Web y servicios WAP, además de soporte para una gran variedad
de servicios concernientes al apartado multimedia que es capaz de ejecutar
el móvil.

Entorno de ejecución de aplicaciones

Esta capa provee de todos los elementos necesarios para la creación


y desarrollo de software a los programadores, es decir contiene elementos
que serán de gran ayuda a los mismos, en el momento de escribir
aplicaciones compatibles con ese sistema operativo.

Entre los servicios que los programadores pueden encontrar, se


destacan un gestor de aplicaciones y una serie de interfaces programables
(APIs) o "Application Programming Interface" abiertas.

Interfaz de usuario

La interfaz de usuario es el elemento del teléfono que usualmente


utilizamos para interactuar con el aparato. Sin esta capa no sería posible
utilizar nuestro dispositivo, ya que la misma presenta todos los elementos
necesarios para facilitar cualquier tipo de tarea que deseemos realizar en
nuestra terminal.

Además incluye todos los elementos gráficos que harán posible el


uso cómodo y sencillo del móvil: botones, menús, pantallas y listas, entre
otros.

Por otra parte, también coexisten en el teléfono una serie de

SO Android Pá gina 9
Sistema Operativo Android
aplicaciones que son nativas del móvil, y que se encargan de tareas tales
como menús, marcador de números de teléfono y demás.

Una de las particularidades más importantes incorporadas a la


interfaz gráfica de usuario en los últimos años ha sido, sin lugar a dudas, la
posibilidad de utilizar todas las funciones del teléfono mediante el uso de
los dedos de la mano, desplazando a los botones a un segundo plano en
cuanto al manejo de opciones y funciones en el móvil.

Esta tendencia se convertirá paulatinamente en un estándar de la


industria. Empresas como Apple, RIM, Microsoft, Google y Symbian, hace
algunos años que incorporan este tipo de tecnología, pero sólo en sus
móviles de gama más alta.

También una gran ventaja son los teclados del tipo virtual, que
eventualmente reemplazarán a los tradicionales dispositivos de entrada,
permitiendo de esta manera un mejor y más liviano diseño del móvil.

Otro punto muy interesante a tener en cuenta es la capacidad de


personalización que permite la interfaz del usuario de nuestro sistema
operativo.

Principales características

SO Android Pá gina 10
Sistema Operativo Android
 Provee el Android Application Framework que facilita la
reutilización y reemplazo de componentes.
 Incluye la Dalvik, la cual es una Virtual Machine optimizada para
dispositivos móviles.
 Disponibilidad de un browser integrado con la plataforma, el cual
está basado en WebKit.
 Capacidades gráficas mejoradas a través de librerías gráficas 2D
optimizadas y gráficos 3D basados en la especificación "OpenGL ES
1.0" (la aceleración del hardware es opcional).
 Incluye SQLite para el almacenamiento estructurado de datos.
 Soporte para multi media y sus formatos más comunes: audio, video,
and fotografías (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG,
GIF).
 Soporte para telefonía GSM (dependiente del hardware).
 Bluetooth, EDGE, 3G y WiFi (dependiente del hardware).
 "API"s de acceso a recursos de cámaras, GPS, brújula y
acelerómetro (dependiente del hardware).
 Un entorno de desarrollo que incluye un emulador de dispositivo,
herramientas para depurar, perfilador de memoria y rendimiento, y
un "plugin" para Eclipse.

Aplicaciones

Android será distribuido junto a un grupo de aplicaciones que incluyen:


cliente de email, programas de SMS, calendario, mapas, browser, contactos
y otras interesantes aplicaciones. En adelante, utilizaré el término Core
Applications para referirme a este conjunto de applicaciones. Todas las
Core Applications fueron escritas utilizando el lenguaje de programación
Java.

SO Android Pá gina 11
Sistema Operativo Android
Estructura de las aplicaciones

Los desarrolladores tienen completo acceso a las "API"s que fueron usadas
para construir las Core Applications. La Android Application Architecture
[falta link] está diseñada para simplificar la reutilización de componentes,
esto gracias a que cualquier aplicación puede publicar sus capacidades y
entonces otras aplicaciones pueden hacer uso de aquellas capacidades (todo
sujeto a restricciones de seguridad impuestas por Android). Este
mecanismo permite que cualquier componente pueda ser reemplazado a
voluntad del usuario.

Subyacente a todas las aplicaciones existe un conjunto de servicios y


sistemas que incluyen:

 Un conjunto rico y extensible de vistas ( View) que pueden ser usados


para construir una aplicación, incluyendo listas, matrices, casillas para
entrada de texto, botones e incluso un browser.

 Varios proveedores de contenidos (Content Provider) que proveen a las


aplicaciones la capacidad para accesar datos desde otras aplicaciones (tales
como Contacts) o compartir sus propios datos.

 Un administrador de recurso (Resource Manager) que provee acceso a


recursos tales como información regionalizada, gráficos y archivos de
diseño.

 Un administrador de notificaciones (Notification Manager) que provee


a las aplicaciones la capacidad para desplegar, en la barra de estado
mensajes de alerta personalizados.

SO Android Pá gina 12
Sistema Operativo Android
 Un administrador de actividades (Activity Manager) que administra el
ciclo de vida de las aplicaciones y proveen un mecanismo de navegación
entre las aplicaciones (Navigation Backstack ).

Para más detalles y un vistazo rápido a una aplicación, ver Desarrollo de un


sencillo editor de texto.

Librerías

Android incluye un conjunto de librerías escritas en C/C++, las cuales son


usadas por varios componentes del sistema Android. Estas capacidades son
expuestas a los desarrolladores a través del Android Application
Framework . Las principales librerías son descritas a continuación:

 System C library: es una implementación "BSD-derived" de la


"standard C system library (libc)", que ha sido mejorada para ser incrustada
en dispositivos basados en Linux.

 Media Libraries: estas librerías permiten la reproducción y grabación


de/en los formatos de audio, video y fotografía más populares. Incluye:
MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. Estas librerías están
basadas en "PacketVideo's OpenCORE".

 Surface Manager: administra el acceso los subsistemas de pantalla y


utilización de gráficos 2D y 3D desde múltiples aplicaciones.

 LibWebCore: es un "web browser" que potencia tanto el "Android


Browser" como las Web View.

 SGL: el motor gráfico 2D subyacente al sistema.

SO Android Pá gina 13
Sistema Operativo Android
 3D libraries: es una implementación basada en las "OpenGL ES 1.0
API"s. Estas librerías pueden usar tanto el hardware 3D de aceleración (si
está disponible) o el "3D rasterizer" que es incluido en Android.

 FreeType: es el "font rasterizer" para mapas de bits y vectores.

 SQLite: es un poderoso y liviano motor de bases de datos relacionales


que está disponible para todas las aplicaciones.

Entorno de ejecución de Android

Android incluye un conjunto de librerías que proveen muchas de las


funcionalidades disponible en las librerías del lenguaje de programación
Java.

Cada aplicación Android es ejecutada dentro de su propio proceso, dentro


de su propia instancia de una Dalvik Virtual Machine. Dalvik ha sido
diseñada de tal forma que el dispositivo puede correr múltiples Virtual
Machines de manera eficiente. La Dalvik Virtual Machine ejecuta archivos
en formato Dalvik Executable (.dex), los cuales han sido optimizados para
optener el menor "memory footprint". La Virtual Machine es "register-
based" y ejecuta archivos de clases compilados en un compilador Java que
ha sido modificado para crear archivos en formato .dex con ayuda de la
herramienta dx.

La Dalvik Virtual Machine depende del Linux Kernel para todas las
subyacentes funcionalidades, tales como "threading" and "low-level
memory management".

Kernel de Linux

SO Android Pá gina 14
Sistema Operativo Android
Android depende de Linux version 2.6 para los "core system services" tales
como securidad, administración de memoria, administración de procesos,
"network stack", y "driver model". El Linux Kernel también actúa como
una capa de abstación entre el hardware y el resto del software stack.

Conclusiones
SO Android Pá gina 15
Sistema Operativo Android
Una gran cantidad de memoria en Android (y sistemas de Linux en
general) es realmente compartida a través de múltiples procesos. Por lo
tanto cuánta memoria utiliza un proceso realmente no está claro. Añadir en
la parte superior de la paginación fuera a disco (no digamos intercambio
que no utilizamos en Android) y es incluso menos evidente.

Así, si tuviera que consumir toda la memoria RAM física realmente


asignada en cada proceso y sumar todos los procesos, probablemente
acabaría con un número mucho mayor que la RAM total real.

El número de Pss es una métrica el núcleo calcula que toma en cuenta de


intercambio de memoria--básicamente se escala cada página de RAM en un
proceso en una proporción del número de otros procesos también con esa
página. De esta forma puede (en teoría) suman el pss a través de todos los
procesos para ver la RAM total que están usando y comparar pss entre
procesos para obtener una idea aproximada de su peso relativo.

La otra interesante métrica aquí es PrivateDirty, que es básicamente la


cantidad de RAM dentro del proceso que no se puede paginar para disco
(no está respaldada por los mismos datos en el disco), y no se comparten
con otros procesos. Otra forma de mirar esto es la memoria RAM que
estará disponible para el sistema, cuando ese proceso va lejos (y
probablemente rápidamente subsumed en cachés y otros usos de la misma).

Eso es bastante las API de SDK para ello. Sin embargo hay más que se
puede hacer como un desarrollador con el dispositivo.

Anexos

SO Android Pá gina 16
Sistema Operativo Android

Telefono Celular con el SO Android

Modelo de Telefono Celular con un SO android

Logotipo de SO android

Bibliografía

www.android.com

http://developer.android.com/index.html
SO Android Pá gina 17
Sistema Operativo Android
http://developer.android.com/guide/basics/what-is-android.html

http://code.google.com/intl/es-ES/android/

http://www.androidsis.com/

SO Android Pá gina 18

Você também pode gostar