Vous êtes sur la page 1sur 15

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular para la Educacin Superior


Colegio Universitario Francisco de Miranda
Ctedra: Sistemas Operativos II






Sistema Operativo
Android

Integrantes:

Freddy Ledezma C.I: 20.289.057
Juan Jose Maita C.I: 16.033.214
Osman Madriz C.I: 13.887.801
German Corredor C.I: 81.538.778
Leomar Arroyo C.I: 16.668.903

Seccin I03-012
Profesor: Luis Acosta


Caracas, Marzo, 2013


Indice
Introduccin .................................................................................................................... 3
Etimologa ....................................................................................................................... 4
Historia ............................................................................................................................. 4
Android ............................................................................................................................ 5
Versiones ........................................................................................................................ 6
Caractersticas ............................................................................................................... 7
Las principales caractersticas de Android son: .................................................... 7
Arquitectura ..................................................................................................................... 8
Nucleo de Linux ............................................................................................................. 8
Android Runtime ............................................................................................................ 8
Bibliotecas o librerias .................................................................................................... 9
System C ............................................................................................................. 9
Librera libc ........................................................................................................ 9
Librera Surface Manager ............................................................................... 9
OpenGL/SL y SGL ........................................................................................... 9
Librera Media Libraries .............................................................................. 10
FreeType ......................................................................................................... 10
Librera SSL .................................................................................................... 10
Librera SQLite .............................................................................................. 10
Librera WebKit .............................................................................................. 10
Marco de trabajo de aplicaciones ............................................................................. 10
Aplicaciones .................................................................................................................. 11
Seguridad en la Plataforma de Android .................................................................. 11
Seguridad a nivel de sistema operativo ................................................................... 11
Seguridad de Linux ...................................................................................................... 12
La Sandbox de aplicaciones ...................................................................................... 12
Permisos del sistema de ficheros ............................................................................. 13
Proteccin por contrasea ......................................................................................... 13
Rooteo de dispositivos ................................................................................................ 13
Seguridad a nivel de aplicacin ................................................................................. 13
El modelo de permisos de Android: APIs de Proteccin de acceso ................... 14



Introduccin

Es impresionante como los dispositivos inteligentes han evolucionado para
hacer nuestras vidas un poco ms fciles, existen muchos dispositivos
inteligentes con caractersticas diferentes y con sistemas operativos distintos
segn sea la necesidad.
El sistema operativo Android es uno de los sistemas ms nuevos en el
mercado, y cuenta con caractersticas muy distintas a los sistemas operativos
que estamos acostumbrados a ver, una de sus caractersticas mas importantes
es que se encuentra basado en Linux y parte de su cdigo se encuentra abierto
y libre.
Gracias a que este sistema fue lanzado bajo una licencia libre y de cdigo
abierto, se decide crear un conjunto de componentes para el desarrollo de
aplicaciones, correcciones y mejoras del sistema llamado SDK (System
Development Kit).
El sistema operativo Android por sus diversas caractersticas actualmente se
encuentra compitiendo con muchos sistemas operativos de gama alta como
Apple con (iOS) y Microsoft con (Windonws Phone).







4

Etimologa

El nombre de Android (Androide en espaol) hace referencia a una novela
llamada Suean los androides con las ovejas elctricas? del famoso autor
Philip K. Dick, la novela que fue muy corta y tuvo su primera publicacin en el
ao 1968 y fue adaptada al cine clsico bajo el nombre de "Blade Runner" en
1982.
Historia

Android fue unos de los primeros proyecto de la compaa desarrolladora de
software Android Inc fundada por el ingeniero en telecomunicaciones Andrew
Rubin en el ao 2003, Android sera un sistema operativo basado en Linux y
estara orientado netamente a dispositivos mviles como telfonos inteligentes
tablets, etc.
En el mes de Julio del ao 2005 la compaa Android Inc, fue adsorbida por la
multinacional Google quien sera la encargada de seguir desarrollando Android
junto con un conglomerado de fabricantes y desarrolladores de hardware,
software y operadoras de servicio celular llamado Open Handset Alliance.
El primer lanzamiento de Android a la luz pblica se realizo el 05 de Noviembre
del 2007 junto con la creacin de la Open Handset Alliance conjunto de
compaas dedicadas al desarrollo de estndares abiertos para dispositivos
mviles y fue liberado bajo una licencia Apache, Licencia libre y de cdigo
abierto.
El primer lanzamiento de un dispositivo mvil con sistema operativo Android fue
de la compaa HTC, compaa que forma parte de la Open Handset Alliance
bajo el nombre de HTC Dream, el dispositivo tenia pantalla tctil, teclado
qwerty y funcionaba con la primera version de Android 1.5 Cupcake.


5

Android

Android es un sistema operativo basado en Linux, que se encontraba en un
principio basado para telfonos mviles y dispositivos inteligentes.
La estructura del sistema operativo Android se compone de aplicaciones que
se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre
el ncleo de las bibliotecas de Java en una mquina virtual Dalvik con
compilacin en tiempo de ejecucin. Las bibliotecas escritas en lenguaje C
incluyen un administrador de interfaz grfica (surface manager), un framework
OpenCore, una base de datos relacional SQLite, una Interfaz de programacin
de API grfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor
grfico SGL, SSL y una biblioteca estndar de C Bionic. El sistema operativo
est compuesto por 12 millones de lneas de cdigo, incluyendo 3 millones de
lneas de XML, 2,8 millones de lneas de lenguaje C, 2,1 millones de lneas de
Java y 1,75 millones de lneas de C++.
Actualmente Android tiene una gran comunidad de desarrolladores escribiendo
aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se
han sobrepasado las 700.000 aplicaciones (de las cuales, dos tercios son
gratuitas) disponibles para la tienda de aplicaciones oficial de Android: Google
Play, sin tener en cuenta aplicaciones de otras tiendas no oficiales para
Android, como pueden ser la App Store de Amazon o la tienda de aplicaciones
Samsung Apps de Samsung. Google Play es la tienda de aplicaciones en lnea
administrada por Google, aunque existe la posibilidad de obtener software
externamente. Los programas estn escritos en el lenguaje de programacin
Java.
22
No obstante, no es un sistema operativo libre de malware, aunque la
mayora de ello es descargado de sitios de terceros.




6

Versiones

Android ha visto numerosas actualizaciones desde su liberacin inicial. Estas
actualizaciones al sistema operativo base tpicamente arreglan bugs y agregan
nuevas funciones. Generalmente cada actualizacin del sistema operativo
Android es desarrollada bajo un nombre en cdigo de un elemento relacionado
con postres.
Las versiones de Android reciben el nombre de postres en ingls. En cada
versin el postre elegido empieza por una letra distinta siguiendo un orden
alfabtico:
A: Apple Pie (v1.0), Tarta de manzana.
B: Banana Bread (v1.1), Pan de pltano.
C: Cupcake (v1.5), Magdalena glaseada.
D: Donut (v1.6), Rosquilla.
E: clair (v2.0/v2.1), Pastel francs.
F: Froyo (v2.2), (Abreviatura de frozen yogurt) Yogur helado.
G: Gingerbread (v2.3), Pan de jengibre.
H: Honeycomb (v3.0/v3.1/v3.2), Panal de miel.
I: Ice Cream Sandwich (v4.0), Sndwich de helado.
J: Jelly Bean (v4.1/v4.2), Juda de gominola.
K: Key Lime Pie (v4.3), Tarta de lima.






7

Caractersticas

El Sistema Operativo Android, est compuesto de un ncleo Linux, sobre el
cual se han desarrollado unas libreras, y una Maquina Virtual Java llamada
Dalvik sobre la cual se cre un Framework de aplicaciones y sobre l se
ejecutan las aplicaciones Android.


Las principales caractersticas de Android son:

Maquina virtual Java propietaria desarrollada por Dan Bornstein, la cual
est optimizada para requerir poca memoria y est diseada para
permitir y ejecutar varias instancias de la mquina virtual
simultneamente.

Framework propio para el desarrollo de aplicaciones, lo cual permite la
reutilizacin y el reemplazo de componentes.

Browser integrado basado en el motor open source WebKit.

Libreras grficas 2D y 3D basadas en la especificacin OpenGL ES 1.0.

Base de datos relacional SQLite.

Soporte de distintos formatos de audio y video tales como MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF.

Soporte de Telefona GSM.

Soporte de Bluetooth, EDGE, 3G, y WiFi.

Soporte para el manejo de cmara, GPS, y acelermetro.

8

Soporte para el desarrollo de aplicaciones incluyendo un emulador,
herramientas para el debugging, herramientas para el profiling de
memoria y rendimiento as como de un plugin para el entorno de
desarrollo Eclipse.
Arquitectura

La arquitectura usada por el Sistema Operativo Android la podemos dividir en
capas, cada una con una misin especfica dentro de la plataforma.

Aplicaciones
Marco de trabajo de aplicaciones
Bibliotecas
Runtime de Android
Ncleo Linux
Nucleo de Linux
Android depende de Linux para los servicios base del sistema como seguridad,
gestin de memoria, gestin de procesos, pila de red y modelo de
controladores. El ncleo tambin acta como una capa de abstraccin entre el
hardware y el resto de la pila de software.
Android Runtime

Android proporciona un entorno de ejecucin de aplicaciones basado en Java.
Se trata de un subconjunto de las libreras del Core de Java, ms una nueva
mquina virtual Java desarrollada especficamente para Android, llamada
Dalvik, y que permite entre otras cosas que cada aplicacin corra en un
proceso y que dicho proceso tenga su propia instancia de la mquina virtual.

En realidad Dalvik no es una mquina virtual puramente Java, ya que los
bytecodes que utiliza no son bytecodes Java. La forma en la que trabaja es
9

transformando las clases Java compiladas en un formato especfico (.dex),
mediante el uso de una utilidad incluida en el SDK de Android llamada dx.
Estas clases en formato dex son las que luego son ejecutadas por Dalvik.
Estos ficheros .dex junto con los dems resources son los que se comprimen
en formato zip y forman la aplicacin en formato apk (Android package).
Bibliotecas o librerias
Android incluye un conjunto de bibliotecas de C/C++ usadas por varios
componentes del sistema. Estas caractersticas se exponen a los
desarrolladores a travs del marco de trabajo de aplicaciones de Android.
System C
Es una implementacin de C estndar basado en BSD especfica para
dispositivos con Linux embebido.
Librera libc
Incluye todas las cabeceras y funciones segn el estndar del lenguaje
C. Todas las dems libreras se definen en este lenguaje.
Librera Surface Manager
Es la encargada de componer los diferentes elementos de navegacin
de pantalla. Gestiona tambin las ventanas pertenecientes a las distintas
aplicaciones activas en cada momento.
OpenGL/SL y SGL
Representan las libreras grficas y, por tanto, sustentan la capacidad
grfica de Android. OpenGL/SL maneja grficos en 3D y permite utilizar, en
caso de que est disponible en el propio dispositivo mvil, el hardware
encargado de proporcionar grficos 3D. Por otro lado, SGL proporciona
grficos en 2D, por lo que ser la librera ms habitualmente utilizada por la
mayora de las aplicaciones. Una caracterstica importante de la capacidad
10

grfica de Android es que es posible desarrollar aplicaciones que combinen
grficos en 3D y 2D.
Librera Media Libraries
Proporciona todos los cdecs necesarios para el contenido multimedia
soportado en Android (vdeo, audio, imgenes estticas y animadas, etc.)
FreeType
Permite trabajar de forma rpida y sencilla con distintos tipos de
fuentes.
Librera SSL
Posibilita la utilizacin de dicho protocolo para establecer
comunicaciones seguras.
Librera SQLite
Creacin y gestin de bases de datos relacionales.
Librera WebKit
Proporciona un motor para las aplicaciones de tipo navegador y forma el
ncleo del actual navegador incluido por defecto en la plataforma Android.
Marco de trabajo de aplicaciones
Los desarrolladores tienen acceso completo a los mismos APIs del framework
usados por las aplicaciones base. La arquitectura est diseada para
simplificar la reutilizacin de componentes; cualquier aplicacin puede publicar
sus capacidades y cualquier otra aplicacin puede luego hacer uso de esas
capacidades (sujeto a reglas de seguridad del framework). Este mismo
mecanismo permite que los componentes sean reemplazados por el usuario.
11

Aplicaciones
Las aplicaciones base incluyen un cliente de correo electrnico, programa de
SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones
estn escritas en lenguaje de programacin Java.
Seguridad en la Plataforma de Android

Para el sistema operativo Android, la seguridad es uno de los puntos claves
dentro de su desarrollo. El concepto de seguridad lo establece en base a la
proteccin de los datos de usuario, proteccin de los recursos del sistema,
proteccin respecto a las aplicaciones.

Para lograr estos objetivos, Android proporciona una serie de caractersticas
para hacer que sea un sistema robusto. Entre estas caractersticas podemos
destacar, la robustez a nivel de sistema operativo que lleva implcito el uso de
un kernel Linux, el uso de sandbox obligatorio para todas las aplicaciones,
seguridad en la comunicacin entre procesos, firmado de aplicaciones, y el uso
de permisos a nivel de usuario.

Adems de esto, a nivel de plataforma, cada uno de los componentes se basa
en la seguridad de los componentes del nivel inferior de la plataforma y en que
a excepcin de una pequea porcin de cdigo del SO que es ejecutado en
modo root, todo el cdigo del kernel de Linux est restringida por la ejecucin
dentro de la Sandbox.
Seguridad a nivel de sistema operativo

A nivel de Sistema Operativo Android utiliza la seguridad que provee el kernel
de Linux, seguridad en la comunicacin inter-procesos, para porporcionar
seguridad entre aplicaciones ejecutndose en distintos procesos, y la ejecucin
de las aplicaciones dentro de una Sandbox.
12

Seguridad de Linux

Solo por usar Linux como ncleo de la plataforma, se heredan una serie de
mecanismos de seguridad ampliamente probados por el gran uso de Linux en
entornos especialmente sensibles a los temas de seguridad.

Esto le proporciona a Android los siguientes beneficios:

Un modelo de permisos basados en usuarios.

Aislamiento de procesos.

Mecanismos de securizacin de comunicaciones entre procesos.

La posibilidad de eliminar partes innecesarias y potencialmente
inseguras del kernel.
Como sistema operativo multiusuario, uno de los objetivos bsicos de
seguridad de Linux es proteger los recursos de un usuario frente a otro.
La Sandbox de aplicaciones

A diferencia de los sistemas Linux, el sistema Android asigna un nico user ID
(UID) a cada una de las aplicaciones y la ejecuta como ese usuario en un
proceso separado. Esto hace que cada aplicacin se ejecute en una Sandbox,
ya el kernel de Linux facilita la seguridad entre aplicaciones que ejecuta cada
usuario, limitando que las aplicaciones puedan interactuar entre ellas y con el
sistema operativo.

Como este Sandbox se encuentra a nivel de Kernel, todas las aplicaciones del
kernel y de niveles superiores se ejecutaran dentro de este Sandbox por
defecto.
13

Permisos del sistema de ficheros

En sistemas Unix los permisos del sistema de ficheros aseguran que un
usuario no pueda leer o cambiar los ficheros de otro usuario. La ejecucin de
cada aplicacin con un UID distinto hace que los ficheros generados por cada
aplicacin no puedan ser utilizados por otra aplicacin a menos que
explcitamente el desarrollador permita esto.
Proteccin por contrasea

Android se puede configurar para que se verifique una contrasea cada vez
que se acceda al dispositivo. Esto permite prevenir el acceso no autorizado
tanto al dispositivo como a la clave criptogrfica para sistemas de ficheros
encriptados.
Rooteo de dispositivos

Por defecto en dispositivos Android solamente el kernel y un subconjunto de
aplicaciones se ejecutan en modo root. Android no limita la modificacin del
kernel, sistema operativo u otros programas si se accede con usuario root.

Por defecto los usuarios no tienen acceso al dispositivo con un usuario root, lo
cual hace de esto un mecanismo de seguridad. Hay ciertos programas que
permiten desbloquear esta limitacin haciendo que se use el dispositivo con
permisos root, lo cual indirectamente puede hacer que el dispositivo se
convierta en un dispositivo no seguro.

Seguridad a nivel de aplicacin

Adems de los mecanismos de seguridad proporcionados a nivel de sistema
operativo, Android proporciona unos mecanismos para proveer seguridad a
nivel de aplicacin. A continuacin se explican estos mecanismos.
14

El modelo de permisos de Android: APIs de Proteccin de
acceso

Una aplicacin Android solamente puede tener acceso a un rango limitado de
recursos del sistema. El sistema gestiona el acceso de las aplicaciones a estos
recursos, ya que se podran utilizar de forma maliciosa o inapropiada, lo cual
podra provocar problemas para el usuario, sus datos, etc.

Estas restricciones se implementan de distintas formas, desde la ausencia de
APIs para el manejo de estos recursos (p.e. acceso a la tarjeta SIM), hasta el
uso de APIS protegidas mediante Permisos. Estas APIs protegidas incluyen:

Funciones de cmara.
Datos de localizacin (GPS).
Funciones bluetooth.
Funciones de telefona.
Funciones SMS/MMS.
Conexiones de datos y de red.

Estas recursos son accesibles nicamente desde el Sistema Operativo. Para
que una aplicacin pueda usar estos recursos debe declararlo en el manifiest
de la aplicacin. Cuando un usuario instala la aplicacin se le mostrar los
permisos que requiere esa aplicacin y ser el usuario el que permita la
ejecucin de dicha aplicacin que llevar implcito el uso de estas APIs.

El permiso de uso de esta API es solamente a nivel de esa aplicacin, una vez
que se desinstalen los permisos de esas aplicacin desaparecen y si el usuario
vuelve a instalar la aplicacin se le volver a pedir autorizacin para el acceso
a estas APIs.



15

Conclusin

En la actualidad hay un total aproximado de ms de 25.000.000 de usuarios,
que se encuentran utilizando el sistema operativo Android en todo el mundo,
esto es gracias a todas las caractersticas que los otros sistemas no tienen y la
visin de Google junto con otras compaas de desarrollar estndares abiertos
para dispositivos mviles.

Vous aimerez peut-être aussi