REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA UNIVERSIDAD ALEJANDRO DE HUMBOLDT (UAH) SECCIÓN: DCM501II UNIDAD CURRICULAR: SISTEMAS OPERATIVOS II
SISTEMAS OPERATIVOS DISTRIBUIDOS Android (Teléfono Marca Huawei, Modelo UM840)
Profesora: Jenniffer Medina Estudiante: Rojas Reina, José Manuel
Caracas, Julio de 2011 Autor: José Manuel Rojas
DEFINICIÓN
•
Android es un Sistema Operativo basado en Linux diseñado originalmente
para dispositivos móviles, tales como teléfonos inteligentes, tablets, pero que actualmente se encuentra en desarrollo para usarse en netbooks y Pcs. •
Android es un conjunto de software disponible para dispositivos móviles que
incluye un Sistema Operativo con una capa de abstracción de aplicaciones distribuidas sobre plataformas heterogéneas dirigidas al usuario.
Logo de Android HISTORIA DE ANDROID Tanto el nombre Android como Nexus One hacen alusión a la novela de Philip K. Dick ¿Sueñan los androides con ovejas eléctricas?, que posteriormente fue adaptada al cine como Blade Runner. Tanto el libro como la película se centran en un grupo de androides llamados replicantes del modelo Nexus-6. Fue desarrollado inicialmente por Android Inc., una pequeña compañía de Palo Alto, California comprada por Google en 2005. Es el principal producto de la Open
Autor: José Manuel Rojas
Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio. Entre los cofundadores de Android que se fueron a trabajar a Google están Andy Rubin
(co-fundador
de
Danger),
Rich
Miner
(co-fundador
de
Wildfire
Communications, Inc.), Nick Sears (alguna vez VP en T-Mobile), y Chris White (quien encabezó el diseño y el desarrollo de la interfaz en WebTV). En ese entonces, poco se sabía de las funciones de Android Inc. fuera que desarrollaban software para teléfonos móviles. Esto dio pie a rumores de que Google estaba planeando entrar en el mercado de los teléfonos móviles. El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles. Google liberó la mayoría del código de Android bajo la licencia Apache, una licencia libre y de código abierto. Actualmente Android posee el 32,9% de cuota de mercado a escala mundial de los teléfonos inteligentes, por delante de Symbian OS que tiene 30,6%. En tercer lugar se sitúa Apple con cuota de mercado del 16%. El 9 de diciembre de 2008, se anunció que 14 nuevos miembros se unirían al proyecto
Android,
incluyendo
PacketVideo,
ARM
Holdings,
Atheros
Communications, Asustek, Garmin, Softbank, Sony Ericsson, Toshiba y Vodafone. Android tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, existen cerca de 200.000 aplicaciones disponibles para Android. Android Market es la tienda de aplicaciones en línea administrada por Google, aunque existe la posibilidad de obtener software externamente. Los programas están escritos en el lenguaje de programación Java. Respecto del malware, ya existen varios para este sistema.
Autor: José Manuel Rojas
CARACTERÍSTICAS
•
El Sistema Operativo Android es diferente a otros como el iOS o Windows
Phone, esto debido a que se desarrolla de forma abierta y se puede acceder tanto al código fuente como al listado de incidencias, con lo cual se puede verificar los problemas aún no resueltos y reportar los nuevos. •
Ambiente rico de desarrollo incluyendo un emulador de dispositivo,
herramientas para depurar, perfiles de memoria y rendimiento, y un plugin para el IDE Eclipse. •
Android Market permite que los desarrolladores pongan sus aplicaciones,
gratuitas o de pago, en el mercado a través de esta aplicación accesible desde todos los teléfonos con Android. •
Entorno de desarrollo SDK que proporciona un plugin para el IDE de Eclipse
y APIs necesarias para empezar a desarrollar aplicaciones en la plataforma Android usando un lenguaje de programación java el cual incluye un emulador de dispositivo, herramientas para la depuración, memoria y rendimiento de perfile. •
Framework de Aplicaciones: permite el reemplazo y la reutilización de los
componentes. •
SQlite: base de datos para almacenamiento estructurado que se integra
directamente con las aplicaciones. •
Multimedia: Soporte para medios con formatos comunes de audio, video e
imágenes planas WebM, H.263, H.264 (en 3GP o MP4), MPEG-4 SP, AMR, AMRWB (en un contenedor 3GP), AAC, HE-AAC (en contenedores MP4 o 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP. •
Conexiones: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi,
LTE y WiMAX. Dependiente del Terminal. •
Cámara, GPS, brújula y acelerómetro: Dependiente del terminal
•
Gráficos Optimizados, con una librería de gráficos 2D; gráficos 3D basado en Autor: José Manuel Rojas
la especificación OpenGL ES 1.0 (aceleración por hardware opcional). •
Multitarea: Multitarea real de aplicaciones está disponible.
•
Tethering: Android soporta tethering, el cual permite al teléfono ser usado
como un punto de acceso alámbrico o inalámbrico (todos los teléfonos con la versión 2.2, no oficial en teléfonos con versión 1.6 o superiores mediante aplicaciones disponibles en el Android Market, por ejemplo PdaNet). Para permitir a un computador portátil usar la conexión 3G del móvil android se podría requerir la instalación de software adicional. VENTAJAS
•
Los Teléfonos más Avanzados: Dada la posibilidad de que Android pueda
instalarse prácticamente en todo tipo de dispositivos, sean móviles, portátiles e incluso microondas, hace que Android siempre esté presente en los terminales más potentes del mercado siendo una apuesta importante por fabricantes y operadoras por la posibilidad de que independientemente del potencial, gama o prestaciones del dispositivo, Android podrá adaptarse a la perfección a todo tipo de necesidades. Por otra parte, otro tipo de sistemas operativos se ven obligados a estar rezagados a terminales más obsoletos o estar limitados a una determinada marca de fabricante. •
Código Abierto: El hecho de que Android esté liberado con licencia Apache y
código abierto lo convierte en un sistema operativo totalmente libre para que un desarrollador no solo pueda modificar su código sino también mejorarlo. A través de esas mejoras puede publicar el nuevo código y con el ayudar a mejorar el sistema operativo para futuras versiones sin depender de fabricantes u operadoras para ver si se libera o no dicha mejora. Del mismo modo, al ser código abierto garantiza que, en caso de haber un bug o error, sea detectado y reparado con mayor presteza al no existir ninguna traba legal para indagar en su interior ni depender de nadie para pedir autorización a su cambio.
Autor: José Manuel Rojas
•
Libertad: Android da completa libertad al propietario de un terminal a instalar
lo que le venga en gana, sea desde Android Market como un ejecutable aparte (apk) no limitando la libertad del usuario ni imponiendo software propietario para poder instalar música, archivos, documentos directamente desde el cable USB como si de un disco externo se tratara. La misma libertad tienen los desarrolladores o empresas pudiendo realizar aplicaciones o complementos como Flash, Opera o cualquier otro software sin tener que pedir permiso a nadie para ofrecerlo a los usuarios que libremente podrán instalarlo. •
Sin fronteras: El desarrollo de Android no está apadrinado por determinadas
operadoras, fabricantes o proveedores. Android es libertad en todos los aspectos permitiendo que todos puedan disfrutar de el siendo la operadora que sea. Android no se reservará nunca el derecho a escoger una determinada operadora para imponer al usuario el hecho de contratarla para poder disfrutar de él así como sistema operativo que es, permite indagar en su código a través del SDK o desde el propio terminal así como modificar su Firmware de manera extraoficial (aunque esté permitido y no sea ilegal, en ocasiones conlleva a la perdida de la garantía del teléfono). •
Comunidad: Android no solo cuenta con la comunidad más grande mundial de
desarrolladores sino también el mayor movimiento de estos con multitud de eventos, concursos, competiciones y reuniones así como múltiples vías de comunicación como foros y chats oficiales para fomentar la participación y la colaboración para encontrar mejoras e ideas para futuras versiones. Por otro lado, las modificaciones o mejoras no dependerán de un limitado equipo de desarrolladores de una empresa sino contarán con el apoyo, respaldo y participación de todos los desarrolladores del mundo. •
Coste y Gustos: Precisamente por el hecho de que Android puede ser instalado
en teléfonos de cualquier fabricante o incluso en otros dispositivos, esto permite
Autor: José Manuel Rojas
poder disfrutar de una amplia gama de terminales de diferentes precios y gamas para determinados poderes adquisitivos sin tener que forzar o limitar un sistema operativo o terminal a determinadas clases dando la opción de que toda persona pueda adquirir el terminal que más le guste así como de diferentes características o costes o incluso fabricantes. •
Batería: Todos los terminales de Android deben tener siempre una batería
extraíble dando la opción al usuario a poder sustituirla o llevar recargables en caso de que su batería se agote. De este modo se evita que el usuario tenga problemas en cuanto a su autonomía permitiendo que, aunque la batería haya acabado con su vida útil o considere que su batería es excesivamente pequeña pueda adquirir otra más potente o de reserva. •
Personalizable: Al ser abierto y libre, Android es completamente
personalizable tanto por usuarios instalando fondos de pantalla, animaciones, widgets, skins o temas como para fabricantes con la posibilidad de crear sus propias capas como MotoBlu o HTC Sense permitiendo a unos y a otros poder customizar o personalizar sus teléfonos de la mejor manera posible y dando a elegir al usuario la interfaz más adecuada para su gusto evitando imponer un determinado estilo o interfaz. •
Multitarea: Por suerte, ni hombres ni mujeres están limitados a hacer una cosa
a la vez sino que somos capaces de hacer múltiples cosas siendo algo indispensable y casi impensable pensar de otra manera. Android con su sistema de multitarea inteligente es capaz de gestionar varias aplicaciones abiertas a la vez dejando en suspensión aquellas que no se utilicen y cerrarlas en caso de resultar ya inútiles para evitar un consumo de memoria. Del mismo modo que en nuestra vida cotidiana nos vemos obligados a hacer varias cosas a la vez, no podemos permitirnos el lujo de que nuestro compañero de fatigas no tenga esta función tan básica. •
No solo Móviles: La libertad del código de Android ha hecho que en poco
tiempo se implante en multitud de dispositivos electrónicos, desde móviles hasta
Autor: José Manuel Rojas
ordenadores
portátiles,
netbooks,
microondas,
lavadoras,
marcos
digitales,
navegadores GPS, relojes e incluso en navegadores de abordo de coches. Esto convierte a Android en un Sistema Operativo multifunción y completamente escalable que garantizará su crecimiento y expansión así como ayudará a fabricantes a tener un motor inteligente para sus fabricaciones. DESVENTAJAS
•
Android es Multitarea: esto es un arma de doble filo. Por un lado tiene un gran
aporte positivo, como he comentado más arriba, pero tiene dos grandes contras. Para empezar el hecho de tener varias aplicaciones abiertas hacen que el consumo de la batería se dispare y por otro lado Android no siempre cierra todas las aplicaciones así que hace falta tener una aplicación que cierre las aplicaciones abiertas. En la Market de Android hay un buen puñado de aplicaciones de este tipo así que el problema se soluciona rápidamente pero es un error a fin de cuentas. •
Duración de la Batería: la batería en un móvil Android se gasta muy, pero que
muy rápidamente para un usuario que explota poco las aplicaciones Android porque principalmente utilice el teléfono para llamar y recibir llamadas. Leer el periódico en los trayectos que realiza cada día y poco más. La batería no dura ni dos días. Hay algunas aplicaciones para solucionar relativamente este problema pero, ya se está otra vez con lo mismo: hace falta una aplicación externa al sistema Android para optimizar mejor la batería. •
Android es poco Intuitivo: no se ha visto Sistema Operativo más complicado
que Android. Sudas sangre para configurar el teléfono. Olvídate de utilizar el teléfono nada más encenderlo por primera vez y asume que estarás una mañanita larga configurando e instalando cosas. Este gran problema viene provocado por la interfaz de Android que es la cosa más complicada que he visto en mucho tiempo. Como siempre hay aplicaciones que ayudan mucho en tareas supuestamente sencillas como
Autor: José Manuel Rojas
desinstalar otras aplicaciones pero, otra vez, volvemos al problema inicial: es necesario instalar aplicaciones para poder usar tu móvil cómodamente. Y este error nos lleva a la siguiente desventaja. •
Necesidad de Instalar Aplicaciones Externas: evidentemente se puede utilizar
un teléfono Android sin instalar ninguna aplicación aparte de las que vengan predefinidas. Buena suerte amigo, la vas a necesitar. Si no tienes una aplicación que “mate” las aplicaciones abiertas que no estén en uso u otra aplicación para borrar aplicaciones que ya no te sirvan vas a sudar sangre para realizar tareas tan básicas como desinstalar un widget. Al final te acostumbras y dominas tu teléfono sin problemas pero tardas más de lo habitual en conseguirlo. •
Android está Totalmente Fragmentado: con esto se quiere decir, que tiene
bastantes versiones dentro de las versiones oficiales. Oficialmente Android tiene la versión 2.1, la versión 2.2 y en breve la nueva versión 2.3. Cada modelo de teléfono móvil se ha de adaptar a Android de manera que no es exactamente la misma versión de Android la que lleva una HTC Magic que una HTC Hero aunque ambas corran con la versión 2.1. Esto provoca problemas de incompatibilidad con algunas aplicaciones de la Market que funcionan en determinadas versiones de Android. ARQUITECTURA DE ANDROID La arquitectura interna de la plataforma Android, está básicamente formada los siguientes componentes: •
Aplicaciones: las aplicaciones base incluyen un cliente de correo electrónico,
programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones están escritas en lenguaje de programación Java. •
Marco de Trabajo de Aplicaciones: los desarrolladores tienen acceso
completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes; cualquier
Autor: José Manuel Rojas
aplicación puede publicar sus capacidades y cualquier otra aplicación 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. •
Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por
varios componentes del sistema. Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones de Android; algunas son: System C library (implementación biblioteca C estándar), bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras. •
Runtime de Android: Android incluye un set de bibliotecas base que
proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato .dex por la herramienta incluida "dx". •
Núcleo Linux: Android depende de Linux para los servicios base del sistema
como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software.
Autor: José Manuel Rojas
Arquitectura de Android
VERSIONES A lo largo del tiempo, Android ha lanzado 8 versiones distintas de su sistema operativo tales como: el Android 1.5, 1.6, 2.1, 2.3, 2.3.3, 3.0, 3.1. Estas versiones difieren en las mejoras y la interfaz que presentan y, también, se integran dependiendo de qué tan bueno sea el dispositivo móvil que se está dispuesto a adquirir. También cabe mencionar que su última versión, la cual es el Android 3.1 (HoneyComb), fue dedicada especialmente para las nuevas tabletas informáticas, como por ejemplo la Motorola Xoom, así como la Galaxy Tab 10.1. Android ha visto numerosas actualizaciones desde su liberación inicial. Estas Autor: José Manuel Rojas
actualizaciones al Sistema Operativo base, típicamente arreglan bugs y agregan nuevas funciones. Generalmente cada actualización del Sistema Operativo Android es desarrollada bajo un nombre en código de un elemento relacionado con postres. Las siguientes son las distintas Versiones de Android que han sido publicadas, así como algunas de las características de cada una de las mismas: •
1.0: Liberado el 23 de septiembre de 2008.
•
1.1: Liberado el 9 de febrero de 2009.
•
1.5 (Cupcake): Basado en el kernel de Linux 2.6.27. El 30 de abril de 2009, la
actualización 1.5 (Cupcake) para Android fue liberada. Hubo varias características nuevas y actualizaciones en la interfaz de usuario en la actualización 1.5: •
Posibilidad de grabar y reproducir videos a través del modo camcorder.
•
Capacidad de subir videos a YouTube e imágenes a Picasa
directamente desde el teléfono. •
Un nuevo teclado con predicción de texto.
•
Soporte para Bluetooth A2DP y AVRCP.
•
Capacidad de conexión automática para conectar a auricular Bluetooth
a cierta distancia. •
Nuevos widgets y carpetas que se pueden colocar en las pantallas de
inicio. • •
Transiciones de pantalla animadas.
1.6 (Donut): Basado en el kernel de Linux 2.6.29. El 15 de septiembre de
2009, el SDK 1.6 (Donut) fue liberado. Se incluyó en esta actualización: •
Una experiencia mejorada en el Android Market.
•
Una interfaz integrada de cámara, filmadora y galería.
•
La galería ahora permite a los usuarios seleccionar varias fotos para
eliminarlas. •
Búsqueda por voz actualizada, con respuesta más rápida y mayor
Autor: José Manuel Rojas
integración con aplicaciones nativas, incluyendo la posibilidad de marcar a contactos. •
Experiencia de búsqueda mejorada que permite buscar marcadores,
historiales, contactos y páginas web desde la pantalla de inicio. •
Actualización de soporte para CDMA/EVDO, 802.1x, VPN y text-to-
speech.
•
•
Soporte para resoluciones de pantalla WVGA.
•
Mejoras de velocidad en las aplicaciones de búsqueda y cámara.
•
Framework de gestos y herramienta de desarrollo GestureBuilder.
•
Navegación gratuita turn-by-turn de Google
2.0 / 2.1 (Eclair): Basado en el kernel de Linux 2.6.29. El 26 de octubre de
2009, el SDK 2.0 (Eclair) fue liberado. Los cambios incluyeron: •
Velocidad de hardware optimizada.
•
Soporte para más tamaños de pantalla y resoluciones.
•
Interfaz de usuario renovada.
•
Nuevo interfaz de usuario en el navegador y soporte para HTML5.
•
Nuevas listas de contactos.
•
Una mejor relación de contraste para los fondos.
•
Mejoras en Google Maps 3.1.2.
•
Soporte para Microsoft Exchange.
•
Soporte integrado de flash para la cámara.
•
Zoom digital.
•
MotionEvent mejorado para captura de eventos multi-touch.
•
Teclado virtual mejorado.
•
Bluetooth 2.1.
•
Fondos de pantalla animados
El SDK 2.0.1 fue liberado el 3 de diciembre de 2009. Autor: José Manuel Rojas
El SDK 2.1 fue liberado el 12 de enero de 2010. •
2.2 (Froyo): Basado en el kernel de Linux 2.6.32. El 20 de mayo de 2010, el
SDK 2.2 (Froyo) fue liberado. Los cambios incluyeron: •
Optimización general del sistema Android, la memoria y el
rendimiento. •
Mejoras en la velocidad de las aplicaciones, gracias a la
implementación de JIT. •
Integración del motor JavaScript V8 del Google Chrome en la
aplicación Browser. •
Soporte mejorado de Microsoft Exchange (reglas de seguridad,
reconocimiento automático, GAL look-up, sincronización de calendario, limpieza remota). •
Lanzador de aplicaciones mejorado con accesos directos a las
aplicaciones de teléfono y Browser. •
Funcionalidad de Wi-Fi hotspot y tethering por USB.
•
Permite desactivar el tráfico de datos a través de la red del operador.
•
Actualización del Market con actualizaciones automáticas.
•
Cambio rápido entre múltiples idiomas de teclado y sus diccionarios.
•
Marcación por voz y compartir contactos por Bluetooth.
•
Soporte para contraseñas numéricas y alfanuméricas.
•
Soporte para campos de carga de archivos en la aplicación Browser.
•
Soporte para la instalación de aplicación en la memoria expandible
•
Soporte para Adobe Flash 10.1.
•
Soporte para pantallas de alto número de Puntos por pulgada, tales
como 4" 720p. •
2.3 (Gingerbread): Basado en el kernel de Linux 2.6.35.7 Actual en smat. El 6
de diciembre de 2010, el SDK 2.3 (Gingerbread) fue liberado. Los cambios
Autor: José Manuel Rojas
incluyeron: •
Actualización del diseño de la interfaz de usuario.
•
Soporte para pantallas extra grandes y resoluciones WXGA y mayores.
•
Soporte nativo para telefonía VoIP SIP.
•
Soporte para reproducción de videos WebM/VP8 y decodificación de
audio AAC. •
Nuevos
efectos
de
audio
como
reverberación,
ecualización,
virtualización de los auriculares y refuerzo de graves. •
Soporte para Near Field Communication.
•
Funcionalidades de cortar, copiar y pegar disponibles a lo largo del
sistema. •
Teclado multi-táctil rediseñado.
•
Soporte mejorado para desarrollo de código nativo.
•
Mejoras en la entrada de datos, audio y gráficos para desarrolladores
de juegos. •
Recolección de elementos concurrentes para un mayor rendimiento.
•
Soporte nativo para más sensores (como giroscopios y barómetros).
•
Un administrador de descargas para descargar archivos grandes.
•
Administración de la energía mejorada y control de aplicaciones
mediante la administrador de tareas.
•
•
Soporte nativo para múltiples cámaras.
•
Cambio de sistema de archivos de YAFFS a ext4.
3.0 / 3.1 (Honeycomb): •
Mejor soporte para tablets.
•
Escritorio 3D con widgets rediseñados.
•
Sistema multitarea mejorado.
•
Mejoras en el navegador web predeterminado, entre lo que destaca la Autor: José Manuel Rojas
navegación por pestañas, autorelleno de formularios, sincronización de favoritos con Google Chrome y navegación privada.Soporte para videochat mediante Google Talk. •
Mejor soporte para redes Wi-Fi.
•
Añade soporte para una gran variedad de periféricos y accesorios con
conexión USB: teclados, ratones,hubs, dispositivos de juego y cámaras digitales. Cuando un accesorio está conectado, el sistema busca la aplicación necesaria y ofrece su ejecución. •
Los widgets pueden redimensionarse de forma manual sin la limitación
del número de cuadros que tenga cada escritorio. •
2.4/4.0 (¿?) (Ice Cream Sandwich): •
Interfaz estilo Honeycomb, en cualquier dispositivo, homogeneidad
entre teléfonos, televisiones, tablets, netbooks. •
Barra de estado redimensionable.
•
Reconocimiento de voz del usuario.
•
Reconocimiento facial, lo que haría que puedas cambiar la vista.
•
Un único y nuevo framework para las aplicaciones.
Autor: José Manuel Rojas
REFERENCIAS DE INTERNET •
Grupo
Geek.
(2011).
[Página
Web
en
Línea].
http://grupogeek.com/2011/06/24/que-es-un-sistema-android •
Kronox.
(2009).
[Página
Web
en
Línea].
http://kronox.org/2009/06/09/historia-de-android/ •
Movilae. (2010). [Página Web en Línea]. http://movilae.com/ventajasinconvenientes-android-google/
•
Tu
Dosis
Geek.
(2010).
[Página
Web
en
Línea].
http://www.tudosisgeek.com/10-razones-para-usar-android-ventajas/ •
Wikipedia.
(2011).
[Página
Web
en
Línea].
http://es.wikipedia.org/wiki/Android
Autor: José Manuel Rojas