You are on page 1of 17

ARQUITECTURA DE LOS SISTEMAS COMPUTACIONALES MOVILES

Las arquitecturas de los telfonos inteligentes han ido evolucionando


conforme pase el tiempo y se innove cosas en la cual permita al usuario
tener una comunicacin ms rpida con el mundo, parte de esto las
grandes industrias de telfonos celulares hacen posible que cada ao
estos dispositivos de comunicacin evolucionen en Hardware y Software,
para que sea de agrado para el cliente y de gran ayuda para mltiples
tareas en el mundo moderno.
Tenemos algunos sistemas operativos y la descripcin de su arquitectura
como:

IOS:

Constituido por capas como se ve en la imagen, los niveles ms altos actan


como intermediarios entre el hardware y aplicaciones que aparecen en la
pantalla de los dispositivos. Las capas superiores proporcionan una abstraccin
orientada a objetos, esto hace que sea ms fcil entender su arquitectura.
Adicionalmente, cada capa est compuesta por un conjunto de frameworks .

Capa Core OS:

Capa del Ncleo del sistema operativo que est basado en Darwin
BSD.Es la capa base ms baja de la pila de iOS y se situa directamente
sobre el dispositivo hardware.
El Kernel o Core OS
El nivel del sistema abarca el entorno del ncleo, los
controladores y las interfaces de bajo nivel del sistema operativo
UNIX. El Kernel est basado en MACH y es responsable de
todos los aspectos del sistema operativo. Se encarga de tareas
bsicas de bajo nivel, como:
1. Gestin de memoria virtual
2. Gestin procesos, hilos, el manejo de la memoria y
comunicacin entre procesos.
3. Gestin del sistema de archivos.
4. Gestin del acceso a red de bajo nivel.
5. Gestin de procesos que interactan directo con el
hardware.
Los drivers en esta capa proveen la interfaz entre el hardware del
sistema y los frameworks del sistema. Por seguridad el acceso al
kernel y drivers estn restringido a un conjunto limitado de
framework del sistema y aplicaciones.
iOS provee un conjunto de interfaces, basadas en lenguajes C,
para el acceso a muchas caractersticas de bajo nivel del sistema
operativo, a travs de la biblioteca Libsystem y proveen soporte
para:
o Threading o hilos POSIX
o Red(sockets BSD API)
o Acceso al sistema de archivos.
o Manejo estndar de E/S.
o Bonjour y servicios DNS.
o Informacin de entorno local.
o Asignacin de memoria.
o Clculos matemticos.

Capa de Core Services:

Permite al usuario acceder a todos los servicios bsicos y contiene los


servicios fundamentales del sistema operativo que pueden ser usados
por todas las aplicaciones creadas por terceros. Muchas partes del
sistema estn construidas encima de esta capa.

Entre las principales tecnologas disponibles de alto nivel esta capa se


encuentran:

Almacenamiento iCloud:

Introducido en la versin iOS 5.0, permite que las aplicaciones escriban


documentos y los datos a una ubicacin central en la nube (espacio en
internet) para acceder desde otros dispositivos del usuario. Es decir, al
crear documentos de un usuario con iCloud significa que el usuario puede
ver y editarlos desde cualquier dispositivo sin tener que sincronizar o
transferir archivos. El almacenamiento en una cuenta iCloud provee una
capa de seguridad para el usuario. Hay dos maneras en que las
aplicaciones toman ventaja de este servicio:

o Almacenamiento de documentos iCloud para almacenar


documentos de usuario y datos en la su cuenta.
o Almacenamiento de clave-valor iCloud para compartir cantidades
limitadas de datos entre instancias de aplicaciones que deben
usarla para almacenar datos no crticos como las preferencias.
Conteo de referencias automticos (ARC)
Introducido en la versin iOS 5.0. Es una caracterstica del compilador que
simplifica la gestin de la vida til de los objetos en Objetive C, es decir,
en lugar de recordar retener o liberar en objetivo el ARC evala las
necesidades de su vida y los inserta de forma automtica en las llamadas
a mtodos adecuados en tiempo de compilacin.

Grand Central Dispatch (GCD)


Introducido en la versin iOS 4.0 es una tecnologa de nivel BSD que se
utiliza para administrar la ejecucin de tareas en aplicaciones. El GCD
combina un modelo de programacin asincrnica con un muy optimizado
ncleo para proveer la conveniencia y hacerlo ms eficiente.
GCD ofrece alternativas para tareas de bajo nivel como leer y escribir,
medidores de tiempo de ejecucin y monitoreo de seales de control de
procesos y eventos.

La compra APP
Introducido en la versin 3.0, es un servicio que da la capacidad para
vender contenidos y servicios desde el interior de la aplicacin APP. Esta
aplicacin se implementa utilizando el store kit framework que procesa
las transacciones financieras usando las cuenta de usuario iTunes.
La biblioteca SQLite
Biblioteca que permite incrustar una base de datos ligera de SQL en
aplicaciones sin ejecutar un proceso separado del servidor remoto de base
de datos. Se pueden crear archivos de base de datos locales y gestionar
las tablas y registros en los archivos. Esta biblioteca fue diseada para uso
en general y esta optimizada para proporcionar un acceso rpido a los
registros de base de datos. El ejemplo ms comn es la base de datos de
contactos telefnicos.
Soporte XML (lenguaje de marcas extensible)
La fundacin framework proporciona la clase NSXMLParser para
recuperacin de elementos en documentos XML. Esta biblioteca de cdigo
abierto permite analizar y escribir datos XML de forma rpida y
transformar el contenido XML a HTML.
Capa Media:

Conocida tambin como capa


de medios de comunicaciones. Es una interfaz basada en una mescla de
lenguaje C y objetive C que permite la ejecucin de tareas o gestin de
ficheros multimedia.
Esta capa contiene las tecnologas de grficos, audio y video orientadas a
crear la mejor experiencia de multimedia disponible en un dispositivo mvil.
Las tecnologas estn diseadas para hacer que las aplicaciones se vean y
suenen excelente. Las caractersticas de las tecnologas son:

Tecnologa de grficos:

La alta calidad de los grficos es una parte importante de las aplicaciones de


iOS. Estas aplicaciones comnmente son creadas usando el framework UIKit
con vistas estndares. Sin embargo, a veces es necesario usar en
aplicaciones grficos ms detalladas, para ello se puede utilizar las siguientes
tecnologas para gestin del contenido grafico como:

o Core Grafics (Quartz): el nucle grficos, en espaol, maneja de


vectores de 2D y la renderizacin de imgenes.
o Core animation: es una parte del Quartz Core framework que
proporciona soporte avanzado para animaciones y otros contenidos.
o Open GL y GLKit: proporciona soporte para la renderizacin de 2D y
3D usando interfaces aceleradores de hardware.
o Core Text: ofrece un diseo sofisticado y un motor de texto.
o E/S estndar de imagen: proporciona interfaces para leer y escribir
la mayora de los formatos de imagen.
o La biblioteca Assets: proporciona acceso a las fotos t videos en la
galera de usuario.

Tecnologa de audio:

El sistema ofrece varias alternativas de reproducir y grabas contenidos de


audio, existen de dos tipos las tecnologas de audio de alto nivel son las
fciles de usar mientras que las de bajo nivel ofrecen flexibilidad, algunas de
estas tecnologas en iOS son.

o Media player: ofrece un fcil acceso a la biblioteca de iTunes del


usuario y soporte para reproduccin de pistas y listas de reproduccin.
o El framework AV: proporciona un conjunto de fcil de usar interfaz de
Objetive-C para el manejo y reproduccin de contenido audio visual.
o El OpenAl: proporciona un conjunto de fcil de usar interfaz de
Objetive-C para el manejo de la reproduccin de audio y grabacin.
o El Core audio: ofrece dos interfaces simple y sofisticados para
reproducir y grabar contenidos de audio, se utilizan para reproducir
sonidos de alerta del sistema, provoca la capacidad de hacer vibrar al
dispositivo y la gestin de almacenamiento temporal y la reproduccin
de multicanales locales y contenido de audio streaming.

La tecnologa de audio en iOS soporta formatos: AAC, Apple Lossless (ALAC),


A-law, IMA/ADPCM (IMA4), Linear PCM, -law, DVI/Intel IMA ADPCM, Microsoft
GSM 6.10 y AES3-2003.

Tecnologa de video

iOS ofrece varias tecnologas para reproducir contenido de video en los


dispositivos con hardware de video, adems de tecnologas para capturar
video e incorporarlo a las aplicaciones.
El sistema ofrece varias formas de reproducir y grabar contenido de vdeo se
eligen segn necesidades. Las tecnologas de video de alto nivel simplifican el
trabajo para apoyar a las caractersticas de aplicaciones por terceros. Algunas
de estas tecnologas ubicadas de segn nivel son:

La clase UIImagePickerController en UIKit proporciona una interfaz estndar


para la grabacin de vdeo en los dispositivos con una cmara compatible.

o Media Player proporciona un conjunto de interfaces para la


presentacin de pelculas completas o parciales de pantalla de la
aplicacin.
o El framework AV proporciona un conjunto de interfaces de Objective-C
para el manejo de la captura y reproduccin de pelculas.
o Core Media proporciona interfaces de bajo nivel para la manipulacin
de los medios de comunicacin.

Las tecnologas de vdeo en iOS compatible con la reproduccin de archivos


de pelculas con el mov, mp4, m4v, y .3 gp, como tambin otras extensiones
de los archivos siguen estndares de compresin.

Tecnologa AirPlay

AirPlay es una tecnologa que permite que el flujo de audio de aplicacin a


Apple TV y altavoces AirPlay de terceros inalmbricamente a travs de Wi-fi.
El soporte AirPlay est integrado framework de AV Foundation y de la familia
framework Core Audio.

Algunas ventajas de iCloud son:


Se tiene una copia de seguridad de los archivos tambin llamado backup, en
dado caso dispositivo se dae todos los archivos que tengamos sincronizados
con este servicio no se perdern.
Adems, se puede reproducir los archivos de msica desde cualquier
dispositivo, no es necesario tener el archivo ya que este servicio hace que el
descargue de forma temporal, a esto se le llama streaming.

COCOA TOUCH

La capa Cocoa Touch o capa tctil de Cocoa es la interfaz de los dispositivos


para con el usuario. Esta capa es una exclusiva interfaz con un diseo nico
que est constituida con aplicaciones probadas que comparten muchos
patrones que se encuentran en la PC Mac, pero se reconstruyeron con un
enfoque especial en el tacto y las interfaces basadas en optimizacin. La
mayora de estas aplicaciones estn basadas en Objetive C.

Esta capa define la infraestructura de la aplicacin bsica y el soporte para


las tecnologas punta como: Multitarea, entradas tctiles, notificaciones y
muchos servicios de sistemas de alto nivel.

Esta interfaz provee la infraestructura bsica (frameworks) clave para


desarrollar las aplicaciones iOS, ya que contiene los recursos principales para
ejecutar aplicaciones iOS, entre los recursos se distinguen esta capa est el
High level Features o caractersticas de alto nivel:

o Multitarea

Esta funcin que est incorporada en la versin de iOS4 y superiores.


Todas las aplicaciones que son desarrolladas y ejecutadas en el mismo
sistema no terminan de ejecutarse si se pasa al escritorio o se ejecuta otra
aplicacin, estas aplicaciones pasan a un segundo placo o background, el
cual es un contexto de ejecucin de aplicaciones diferente. Esta transicin
desde el primer plano al segundo y viceversa es posible mediante el uso
de UIKit.
El uIKit proporcionara las herramientas bsicas que necesita para
implementar grficos, eventos de aplicaciones basadas en iOS, se basa en
la infraestructura de la que se encuentra en el Mac OS X, incluyendo el
manejo de archivos, redes, cadena de la construccin, y mucho ms.
o Impresin
UIKit permite enviar datos de manera inalmbrica a impresoras cercanas,
esta herramienta lo hace de forma automtica, por lo que el usuario solo
debe darle formato a su documento.

o Proteccin de Datos

La proteccin de datos permite a las aplicaciones trabajar con datos de


usuario sensibles, aprovechado la encriptacin implcita. Si la aplicacin
define un archivo como protegido, el sistema lo almacena en el disco con
un formato encriptado. Cuando el dispositivo es bloqueado, el contenido
de ese fichero es inaccesible, tanto para la aplicacin como para cualquier
potencial intruso. Cuando el dispositivo es desbloqueado, se genera una
clave de desencriptacin que permite a la aplicacin acceder al archivo.

o Servicio de notificaciones Push de Apple

Este servicio permite notificar acerca de alguna nueva informacin aunque


la aplicacin no est ejecutndose activamente en ese momento. Para que
estas notificaciones aparezcan las aplicaciones instaladas deben solicitar
la recepcin de notificaciones y procesar la informacin una vez que ha
sido recibida, adems de un proceso de servidor que sea capaz de generar
las notificaciones.

o Notificaciones Locales
Notificacin local
Estas notificaciones complementan el modo de notificacin por push,
permitiendo a la aplicacin generar sus propias notificaciones sin
necesidad de tener conexin con ningn servidor externo. Una vez a la
notificacin est programada, el sistema operativo la gestiona, por lo que
la aplicacin no debe ejecutarse.
o Reconocimiento de Gestos

Pantalla tctil de iPad


Esta caracterstica fue introducida en la versin del sistema operativo iOS
3.2. Se trata de objetos que podemos incluir en nuestras vistas y usarlos
para detectar gestos comunes, como deslizamientos o pulsaciones en la
pantalla. El ulkit tiene la clase UIGestureRecognizer, que permite crear
aplicaciones con este comportamiento bsico para todos los gestos. Entre
los gestos comunes estndares se encuentran:
Pulsacin (Tapping)
Pellizco, tanto interior como exterior, para el zoom (Pinching
in and out)
Pulsar y arrastrar (Panning and dragging)
Deslizar (Swiping)
Rotar (Rotating)
Pulsacin larga (Long presses)
o Archivos compartidos

Se permite tener disponibles ficheros de datos del usuario en iTunes. De


este modo, una aplicacin har que el contenido de su carpeta
/Documentos est disponible para el usuario. Con esto, el usuario podr
meter o quitar archivos de este directorio desde iTunes.

Documentos en iTunes

o Servicios Peer-to-Peer

El framework Game Kit permite realizar conexiones punto a punto a travs


de Bluetooth. Se puede usar la conectividad punto a punto para iniciar
comunicaciones con dispositivos cercanos e implementar infinidad de
caractersticas disponibles para juegos multijugador.

o Controladores estndar del sistema de vistas


Estn disponibles un conjunto de view controllers para que las interfaces
sean lo ms estndar posibles y que el usuario se sienta ms cmodo y
mejore su experiencia.

Interfaz Ios

Windows phone:

Debemos saber que Microsoft ya se haba enfocado en llevar su propio


sistema operativo a los telfonos, entonces es as como surge Windows
Mobile, pero uno de los grandes problemas a los que Microsoft debi hacer
frente fue la fragmentacin de hardware y software existente en el
ecosistema, es decir a la diversidad de modelos que haba en el mercado,
aprendiendo de sus errores, en Windows phone 7 nos encontramos un
modelo de hardware y software claro y conciso que ayudara a evitar la
repeticin de esta situacin
Modelo de Hardware: Tenemos un ejemplo
Microsoft como fabricante del sistema, requiere que todo
telfono que desee ejecutar Windows phone 7 disponga de unas
caractersticas mnimas, para asegurar la consistencia de todos
los usuarios del sistema, con este modelo todos los usuarios
obtienen la misma experiencia de uso y los desarrolladores
sabemos que nuestra aplicacin funcionara de forma idntica en
todos los dispositivos que tengan Windows phone 7, y no
estamos encerrados en un solo hardware, existen distintos
dispositivos de varios fabricantes, todos con unas caractersticas
mnimas comunes.

1. Procesador: ARMv7 Cortex/Scorpion a 1 GHz.


2. Procesador grfico: Soporte hardware completo de Directx9
3. Memoria: 256Mb RAM/8GB ROM.
4. Sensores: A-GPS, Acelermetro, brjula, iluminacin,
proximidad.
5. Cmara: 5mpx con flash y botn fsico de disparo.
6. Multimedia: Aceleracin de audio y video por hardware.
7. Pantalla: Capacitiva, resolucin 800x480.
8. Botones Fsicos: Inicio, Buscar, Atrs.

MODELO DE SOFTWARE:

Vamos a clasificar el software que funciona en windows phone 7 en 3 modelos:

o Modelo de Aplicacin. En Windows Phone 7 las aplicaciones se


despliegan en forma de paquete XAP, bsicamente es un archivo
dentro del cual podemos encontrar los ensamblados y recursos
originales de nuestra aplicacin.
o Modelo de UI. El modelo de interface de usuario de Windows
Phone 7 se compone de elementos y una sesin es el conjunto de
interacciones que realiza un usuario sobre nuestra aplicacin e
incluso puede involucrar a otras aplicaciones.
o Integracin con la Nube. Windows Phone 7 nace con una clara
integracin con la nube. Por defecto tenemos integracin con
servicios como Exchange, Google Mail, Hotmail, Xbox Live,
Skydrive, Facebook o Bing. En la versin actual del kit de
desarrollo no existen APIs que permitan a nuestras aplicaciones
acceder a estos servicios directamente, pero se espera que
aparezcan en prximas actualizaciones.

Android:

Android est presente en una variedad enorme de dispositivos de muchos


fabricantes, ya que dicho fabricante no tiene que pedirle permiso a google
para usarlo.
Para programar en Android se usa principalmente Java, aunque de nuevo
se puede desarrollar en otros lenguajes. Tambin necesitas hacer un nico
pago de 25 dlares para poder acceder a la consola de desarrollar si
quieres subir tus aplicaciones a la play store.

Arquitectura: Android es una plataforma para dispositivos


mviles que contiene una pila de software donde se incluye un
sistema operativo, middleware y aplicaciones bsicas para el
usuario.
La siguiente imagen muestra la arquitectura diseada por capas
que muestra Android, 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.
o Aplicaciones:
Este nivel contiene, incluidos por defecto de Android como aquellos
que el usuario vaya aadiendo posteriormente, ya sean de terceros
empresas o de su propio desarrollo. Todas estas aplicaciones utilizan
los servicios, las API y libreras de los niveles anteriores.
Framework de aplicacin: Representa fundamentalmente el conjunto
de herramientas de desarrollo de cualquier aplicacin. Toda
aplicacin que se desarolle para Android ya sean las propias del
dispositivo. Todo aplicacin que se desarrolle para Android, ya sean
las propias del dispositivo, los desarrolladas por google o terceras
compaas o incluso las que el propio usuario.
Entre las API ms importante ubicada aqu, se pueden encontrar la
siguiente:
Activity Maneger: conjunto de API que gestiona el ciclo
de vidad de las aplicaciones en Android.
Windows Manager: Gestiona las ventanas de las
aplicacin y utiliza la librera Surface Manager.
Telephone Manager: Incluye todas las API vinculadas a
las funcionalidades propias del telfono (llamadas,
mensajes, etc.).
Content Provider: Permite a cualquier aplicacin
compartir sus datos con las dems aplicaciones de
Android. Por ejemplo, gracias a esta API la informacin
de contactos, agenda, mensajes, etc. Ser accesible
para otras aplicaciones.
View System: Proporciona un gran nmero de elementos
para poder construir interfaces de usuario (GUI), como
listas, mosaicos, botones, check-boxes , tamao de
ventanas, control de interfaces mediante teclado, etc.
Incluye tambin algunas vistas estndar para las
funcionalidades ms frecuentes.
Location Manager: Posibilita a las aplicaciones la
obtencin de informacin de localizacin y
posicionamiento.
Notificacin Manager: Mediante el cual las aplicaciones,
usando un mismo formato, comunican al usuario
eventos que ocurran durante su ejecucin: una llamada
entrante, un mensaje recibido, conexin Wi-fi disponible,
ubicacin en un punto determinado, etc. Si llevan
asociado alguna accin, en Android denominado Intent,
(por ejemplo, atender una llamada recibida) sta se
activa mediante un simple clic.
XMPP Servicie: Coleccin de API para utilizar este
protocolo de intercambio de mensajes basados en XML

o Libreras:
La siguiente capa se corresponde con las libreras utilizadas por
Android. Estas han sido escritas utilizando C/C++ y proporcionan a
Android la mayor parte de sus capacidades ms caractersticas
junto al ncleo basado en Linux, estas libreras constituyen en el
corazn de Android.

Entre las libreras ms importantes ubicada aqu, se pueden


encontrar la siguiente:
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 grafica 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 grafica de Android es que es
posible desarrollar aplicaciones que combinen grficos
en 3D y 2D.
Librera Media Libraries: Proporciona todas los cdecs
necesarios para el contenido multimedia soportado en
Android(video, audio, imgenes estticos y
animales,etc)
FreeType: Permite trabajar de forma rpida y sencilla
con distintos tipos de fuentes.
Libreras SSL: Posibilita la utilizacin de dicho protocolo
para establecer comunicacin 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 plataforma
Android.

o Tiempo de Ejecucin de Android:


Al mismo nivel que las libreras de Android se sitan le entorno de
ejecucin. ste lo constituyen las Core libraries, que son libreras con
multitud de clases Java y la maquina visual Dalvik.

o Ncleo Linux :
Android utiliza el ncleo de Linux 2.6 como una capa de abstraccin
para el hardware disponible en los dispositivos mviles. Esta capa
contiene los drivers necesarios para que cualquier componente
hardware pueda ser utilizado mediante las llamadas correspondientes.
Siempre que un fabricante incluye un nuevo elemento de hardware, lo
primero que se debe realizar para que pueda ser utilizado desde
Android es crear las libreras de control o drivers necesarios dentro de
este kernel de Linux embebido en el propio Android.

You might also like