Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

ANDROID

No description
by

Sistemas Operativos

on 8 April 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of ANDROID

Historia
Arquitectura
Procesos
Memoria
Seguridad
Archivos
Sistemas de Archivos Comunes
exFAT
F2FS
JFFS2
YAFFS2
EXT2/EXT3/EXT4
MSDOS
VFAT
El kernel de Linux soporta un numero de sistemas de archivos seudo, los que son importantes para los dispositivos Android son:
cgroup
rootfs
procfs
sysfs
tmpfs
Jerarquía de Archivos
acct
caché
d
data
default prop
dev
etc
init
init. *.rc
mnt
proc
root
sbin
sdcard
sys
system
vendor
EXT4 File System
Sistema de archivos más utilizado en Linux y Android
Capacidad de manipular archivos de hasta 16 TB
Puede crear hasta 64 000 subdirectorios
Soporte de volumenes de hasta 1024 PiB
Menor uso de CPU
Mejoras en velocidad de lectura y escritura.
F2FS(Flash Friendly File System)
Creado por Kim Jaegeuk en Samsung
Integrado en el Kernel a partir de la version 3.6 en 2012
Diseñado y optimizado para funcionar en memorias flash
El esquema de permisos en android

Para proteger ciertos recursos y características especiales del hardware, Android define un esquema de permisos

Permisos definidos por el usuario
Además de los permisos

definidos por el sistema, los desarrolladores vamos a poder crear nuevos permisos para restringir el acceso a elementos de nuestro software

ESET brinda consejos de seguridad para proteger un Android

Configurar el acceso y bloqueo del dispositivo.

Realizar actualizaciones de forma periódica.

Verificar las aplicaciones y sus permisos.

Evitar dejar la geolocalización al descubierto.

Proteger la tarjeta SIM.

Cuidar los metadatos.

Configurar la seguridad del navegador web.

Crear copias de seguridad.

Borrar datos a la hora de vender o regalar el dispositivo.




En caso de robo, no se recomienda que intentemos recuperar el móvil por nuestra cuenta para no enfrentarnos ante una situación peor, con que en ese caso lo mejor es limitarnos a borrar sus datos, poner la correspondiente denuncia en la policía y llamar a nuestra operadora para bloquear el acceso a la red del móvil y de nuestra SIM. En estos casos nos será muy útil tener apuntados el IMEI (*#06#) y número de serie de nuestro dispositivo.

Descripción general del proceso de gestión
La gestión de procesos en un sistema operativo típico implica muchas estructuras de datos y algoritmos complejos, pero no va mucho más allá del nivel de la gestión del proceso típico estructuras de datos. Android es similar en que el nivel de base de las estructuras de control tiene el mismo aspecto similar a esto:




Esta estructura de datos es administrada por una gestión de procesos estándar, que es algo como esto:
El sistema Android trata de mantener un proceso de aplicación para el mayor tiempo posible, pero con el tiempo necesario para eliminar los antiguos procesos para reclamar memoria para los procesos nuevos o más importantes.




GRACIAS POR SU ATENCIÓN
Primer plano proceso
Proceso Visible
Proceso de vacío
Proceso de fondo
Hospeda una actividad en la superficie de la pantalla, con la cual el usuario esta interactuando (su método on Resume {> ha sido llamado). Debería haber solo uno o unos pocos procesos de este tipo.
Hospeda una actividad que esta visible en la pantalla, pero no en el primer plano (su método onPause i) ha sido llamado). Considerado importante, no será eliminado a menos que sea necesario para mantener los procesos de primer plano
Proceso vacío (Empty process): No hospeda a ningún componente de aplicación activo. La única razón para mantener ese proceso es tener un"cache" que permita mejorar el tiempo de activación en la próxima vez que un componente de su aplicación sea ejecutado.
Hospeda una actividad que no es actualmente visible al usuario (su método onstopO ha sido llamado). Si estos procesos son eliminados no tendrán un directo impacto en la experiencia del usuario.
Procesos y subprocesos

Cada aplicación se ejecuta en su propio proceso y todos los componentes de la aplicación se ejecutan en ese proceso,
de manera predeterminada. Todas las operaciones lentas y de bloqueo en una actividad se debe hacer en un nuevo hilo, para evitar la ralentización de la interfaz de usuario.
Terminación del proceso .Que proceso se elimina?

Como hemos comentado Android mantiene en memoria todos los procesos que quepan aunque estos no se estén ejecutando. Una vez que la memoria está llena y el usuario decide ejecutar una nueva aplicación, el sistema ha de determinar que
proceso de los que están en ejecución ha de ser eliminado. Android ordena los procesos en una lista jerárquica, asignándole a cada uno una determinada "importancia".
Dalvik VM

Maquina Virtual creada en Java.
Bytecode generado es transformado a bytecode java y luego al de Android(.class a .dex).
Varias instancias de la misma simultaneamente.
Poca memoria.
Distribuida como software libre usando licencia de apache.
Interpretacion JIT.
Mejor rendimiento.
Menor consumo de energía.
Aislamiento de procesos.
Gestión de memoria e Hilos.
Android 1.5 Cupcake.
Android 4.4 KitKat.
ART VM
Compilación AOT(Ahead of Time).
Menor consumo de batería.
Compatibilidad .dex.
Mejora tiempos de ejecución y rendimiento.
Mayor tiempo de instalación.
Mayor espacio de almacenamiento.
Android 4.4 Kitkat.
Android 5.0 Lollipop.
Comparación
Dalvik vs ART
Maquina virtual gestiona memoria de los procesos y tiempos de vida de los mismos.
Se asegura la respuesta de la aplicación, deteniendo y matando los procesos según prioridad.
En Android la Memoria no usada es desperdiciada.
Aplicaciones precargadas.
Android clasifica las tareas en el sistema en 5 tipos o categorías:
1) Primer Plano:La tarea se está realizando ahora mismo.
2)Procesos Visibles:Se visualiza la tarea en pantalla.
3)Servicios:Procesos pendientes de alguna tarea.
4)Segundo Plano:Tarea interrumpida que puede ser reanudada o no.
5)Procesos Vacíos: Tarea finalizada pero se mantiene por que puede utilizarse en breve.
Integrantes
Ricardo Chaves Flores
(Origen e Historia)
&
Heiner Zúñiga Garita
(Arquitectura)
&
Christian Rivera Mora
(Memoria)
&
Nathalie Marín Mesen
(Procesos)
&
Keylor Araya Espinoza
(Archivos)
&
Otto Chan Chen
(Seguridad)

Desarrollado por Android Inc, hasta en el 2008 fue cuando se popularizó.

Gracias a la unión al proyecto de Open Handset Alliance, que decidieron promocionar el software libre.

Pero ha sido Google quien ha publicado la mayor parte del código fuente del sistema operativo.





¿Qué hace que el
Android sea especial?
• Plataforma realmente abierta.
• Portabilidad asegurada.
• Arquitectura basada en componentes inspirados en Internet.
• Filosofía de dispositivo siempre conectado a Internet.
• Gran cantidad de servicios incorporados.
• Aceptable nivel de seguridad.
• Optimizado para baja potencia y poca memoria.
• Alta calidad de gráficos y sonido.



Android nos ofrece una forma sencilla y novedosa de implementar potentes aplicaciones para móviles
Versiones Disponibles
La arquitectura empleada en Android esta dividida en capas. 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 figura:
Kernel
Android utiliza el núcleo de Linux 2.6. Esta capa contiene los drivers necesarios para que cualquier componente hardware.

Capa de abstracción entre el hardware y el resto de la pila. Es la única que es dependiente del hardware.

Siempre que un fabricante incluye un nuevo elemento de hardware, lo primero que debe realizar es crear las librerías de drivers necesarios dentro de este kernel de Linux embebido en el propio Android.

Runtime de Android
Al mismo nivel que las librerías de Android.

Éste lo constituyen las Core Libraries, que son librerías con multitud de clases Java y la máquina virtual Dalvik.

Está basado en el concepto de máquina virtual utilizado en Java.

Google tomo la decisión de crear la máquina virtual Dalvik, que respondiera mejor a estas limitaciones.

Algunas características de Dalvik: que ejecuta ficheros Dalvik ejecutables (.dex) (formato optimizado para ahorrar memoria). Además, está basada en registros.

Cada aplicación corre en su propio proceso Linux con su propia instancia de la máquina virtual Dalvik. Delega al kernel de Linux algunas funciones como threading y el manejo de la memoria a bajo nivel.

Librerias
• Librería libc. Incluye todas las cabeceras y
funciones según el estándar del lenguaje C.

• Librería Surface Manager. Es la encargada de componer los diferentes elementos de navegación de pantalla.

• OpenGL/SL y SGL. Representan las librerías gráficas.

• Librería Media Libraries. Proporciona todos los códec 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. Potente y ligero motor de bases de datos relacionales disponible para todas las aplicaciones.

• Librería WebKi. Proporciona un motor para las aplicaciones de tipo navegador y forma el núcleo del actual navegador incluido por defecto en la plataforma Android.
Armazon de Aplicaciones
(Framework de Aplicaciones)
• Activity Manager. Conjunto de API que gestiona el ciclo de vida de las aplicaciones en Android.

• Window Manager. Gestiona las ventanas de las aplicaciones y utiliza la librería Surface Manager.

• Telephone Manager. Incluye todas las API vinculadas a las funcionalidades propias del teléfono (llamadas, mensajes, etc.).

• Content Provider. Permite a cualquier aplicación compartir sus datos con las demás aplicaciones de Android.

• View System. Proporciona un gran número de elementos para poder construir interfaces de usuario (GUI).



• Location Manage. Posibilita a las aplicaciones la obtención de información de localización y posicionamiento.

• Notification Manager. Mediante el cual las aplicaciones, usando un mismo formato, comunican al usuario eventos que ocurran durante su ejecución: una llamada entrante, un mensaje recibido, conexión Wi-Fi disponible, ubicación en un punto determinado, etc.

• XMPP Service. Colección de API para utilizar este protocolo de intercambio de mensajes basado en XML.

Aplicaciones
Incluye todas las aplicaciones por defecto de Android, como aquellas que el usuario
vaya añadiendo posteriormente.







Todas estas aplicaciones utilizan los servicios, las API y librerías de los niveles anteriores.

Normalmente, las aplicaciones Android están escritas en Java.

Para desarrollar aplicaciones en Java podemos utilizar el Android SDK. Existe otra opción consistente en desarrollar las aplicaciones utilizando C/C++. Se utiliza el Android NDK (Native Development Kit).

Procesos
del Ciclo de Vida
Cómo localizar, bloquear y borrar nuestro dispositivo Android perdido o rabado
Memoria Virtual
Similar a la de otros sistemas.
Paginación de memoria
Paginas de 4kb-64kb
Cupcake: Android Version 1.5
-Widgets, teclado QWERTY virtual
-Copiar y pegar es posible
-Captura de vídeos y poder subirlos a Youtube directamente
Donut: Android Version 1.6
-Permite capacidades de búsqueda avanzada en todo el dispositivo
-También se incorpora gestos con los dedos y la síntesis de texto a voz
-Soporte para resolución de pantallas WVGA
Eclair: Android Version 2.0/2.1 3
-Salvapantallas animado, incluye zoom digital para la cámara, y un nuevo navegador de internet

-Se ha optimizado la velocidad de hardware. Se aumenta el número de tamaños de ventana y resoluciones soportadas.

-La clase MotionEvent ahora soporta eventos en pantallas multitáctil.
Froyo: Android Versión 2.2
-Mejora de velocidad de ejecución de las aplicaciones (ejecución del código de la CPU de 2 a 5 veces más rápido)

-Las aplicaciones se actualizan de forma automática cuando aparece una nueva versión.

-El teléfono para dar acceso a Internet a otros dispositivos (tethering), tanto por USB como por Wi-Fi. También se añade el soporte a Wi-Fi IEEE 802.11n y notificaciones push.
Ginger Bread: Android Version 2.3
-Ahora soporta mayores tamaños de pantalla y resoluciones (WXGA y superiores).

-Mejora de la funcionalidad de “cortar, copiar y pegar” y un teclado en pantalla con capacidad multitáctil

-El soporte para la tecnología NFC y se incluye soporte nativo para varias cámaras, pensado en la segunda cámara usada en videoconferencia
Honey Comb: Android Version 3.0/3.4
-La versión 3.0 optimizada para dispositivos con pantallas grandes

-Nueva interfaz de usuario ha sido completamente rediseñada con paradigmas nuevos para la interacción y navegación

-Capaz de instalar todas las aplicaciones, incluso las construidas para versiones anteriores de la plataforma

-Primera versión de la plataforma que soporta procesadores multinúcleo
Ice Cream Sandwich: Android Versión 4.0
-Se introduce un nuevo interfaz de usuario totalmente renovado. Por ejemplo, se reemplazan los botones físicos por botones en pantalla

-Nueva API de reconocedor facial, permite entre otras muchas aplicaciones desbloquear el teléfono a su propietario

-Se mejora el API para comunicaciones por NFC y la integración con redes sociales.
Jelly Bean: Android 4.1
-Fluidez del interfaz de usuario. Varias técnicas, como: sincronismo vertical, triple búfer y aumentar la velocidad del procesador al tocar la pantalla.

-Se mejoran las notificaciones con un sistema de información expandible personalizada.

-La función Google Now permite utilizar información de posición, agenda y hora en las búsquedas
KitKat: Android 4.4.
-Componentes principales de Android recortados para reducir sus requerimientos de memoria

-Desde una perspectiva técnica, hay que destacar la introducción la nueva máquina virtual ART, que consigue tiempos de ejecución muy superiores a la máquina Dalvik

-Se mejora la conectividad con soporte de NFC para emular tarjetas de pago tipo HCE
Lollipop: Android 5.0
-Se han cambiado los iconos, incluyendo los de la parte inferior (Retroceder, Inicio y Aplicaciones), que ahora son un triángulo, un círculo y un cuadrado.

-En el campo Gráfico Android Lollipop incorpora soporte nativo para OpenGL ES 3.1.

-La novedad más importante de Lollipop es la extensión de Android a nuevas plataformas, incluyendo Google Wear, Google TV y Google Card
Diferentes UI
Stock Samsung LG HTC Sony
Full transcript