Professional Documents
Culture Documents
Resumen
El avance tecnológico de los dispositivos móviles día a día es mas complejo, actualmente se ofrece al usuario
versátiles aplicaciones agregadas a la función de comunicación del teléfono, estas aplicaciones permiten que los
dispositivos móviles entre ellos el teléfono celular se incorpore a la vida cotidiana de los usuarios y que se abran
nuevos horizontes de desarrollo informático y nuevos mercados de consumo. El desempeño exitoso de un
dispositivo móvil esta en función de las instrucciones soportadas por el hardware y de la robustez de su Sistema
operativo quien será responsable de administrar los recursos y las aplicaciones del sistema. En la actualidad
existen numerosos Sistemas operativos instalados en los teléfonos celulares y otros dispositivos móviles sin
embargo Symbian y Windows Mobile se están perfilando como los sistemas de mayor distribución en el mercado.
Este trabajo hace una descripción técnica de estos dos sistemas operativos insertados en dispositivos de recursos
limitados con la finalidad de conocer su funcionamiento y hacer un análisis comparativo de los mismos.
Palabras clave: Symbian, Windows Mobile, Sistema operativo, gestión de archivos, gestión de procesos, gestión
de memoria
La primera versión de Symbian fue la 6.0, después le habitualmente ejecutados en un intérprete en vez de
siguió la versión 7.0, continuo con la versión 8.0, compilados. Sin embargo, la definición de un lenguaje de
posteriormente surgió la versión 9.0 y la actual la 9.3 programación es independiente de cómo se ejecuten los
(Cantera,2006). Como puede observarse en la figura 1 el programas en él escritos, ya sea mediante una
Sistema operativo esta compuesto por módulos compilación previa o a través de un intérprete) entre otros
responsables de tareas específicas que interactúan entre si software para ayudar a desarrollar y unir los diferentes
de acuerdo a las necesidades de la aplicación y de los componentes de un proyecto (Cantera, 2006). Un
usuarios, las funciones de los módulos son las siguientes: framework representa una arquitectura de software que
• Modulo base: Todos los componentes del sistema se modela las relaciones generales de las entidades del
apoyan sobre la base la cual incluye los componentes dominio. Provee una estructura y una metodología de
básicos de todo el Sistema operativo, el kernel, la trabajo la cual extiende o utiliza las aplicaciones del
gestión de memoria, la gestión de procesos, servidor de dominio (Cantera, 2006). Esta capa ofrece un marco de
archivo, seguridad de bajo nivel, manejadores de aplicación framework para asistir a los desarrolladores a
dispositivos y la librería básica de escribir código así como la interfaz utilizable, texto y
usuario(Aguilera,2007). utilidades graficas (Nebro, 2002).
• Marco de aplicación: Un framework es una • Modulo de seguridad: Es el gestor de seguridad,
estructura de soporte definida en la cual otro proyecto de proporciona servicios de confidencialidad de datos,
software puede ser organizado y desarrollado. integridad y autentificación mediante la utilización
Típicamente, un framework puede incluir soporte de de protocolos de comunicación seguros, autentifica
programas, bibliotecas y un lenguaje de scripting (Los el software instalado mediante firmas digitales
lenguajes interpretados o lenguajes de script) forman un (Cantera, 2006).
subconjunto de los lenguajes de programación, que • Modulo multimedia: Permite el acceso a la pantalla,
incluye a aquellos lenguajes cuyos programas son al teclado a fuentes y a mapas de bits. Tiene
Comunicación entre Procesos: Sockets Como se ha comentado, las aplicaciones deben usar la
memoria cuidadosamente. Particularmente importante es
Los sockets constituyen un mecanismo que permite la asegurar que se libera toda la memoria que se ha
comunicación entre procesos que se encuentran en solicitado cuando esta no es necesaria. Si una aplicación
maquinas distintas. La definición clásica de un socket es solicita memoria dinámica y no la libera, esta memoria
un punto final para comunicación. Un socket se queda sin usar hasta que la aplicación acaba
caracteriza por una dirección de red de una maquina y un “produciéndose lo que se denomina un memory leak”
numero de puerto. Sin embargo, ambos elementos (Nebro, 2002).
dependen del protocolo que se utilice. El más conocido es
IP (Internet Protocol), y muchas implementaciones de Para evitar este tipo de errores, críticos cuando existen
sockets se limitan únicamente a la comunicación sobre muy pocos recursos, Symbian proporciona herramientas
redes que usan este protocolo. Sin embargo, se pueden de desarrollo para asistir en la verificación de que el
usar otros protocolos. En concreto, en Symbian se código libera la memoria de forma correcta. También se
pueden utilizar las siguientes familias: TCP/IP, IrDA, ofrece un marco de aplicación framework para asistir a
Bluetooth, SMS y WAP. los desarrolladores a escribir código que no desperdicie
memoria. Este marco consiste en que cualquier objeto
La implementación de los sockets en Symbian se basa en que se este creando se almacene en una pila determinada
un servidor denominado socket server. Cada protocolo se (clean-up stack), en la cual reside hasta que este
compone de un modulo de protocolo, que se puede añadir completamente creado. Si el sistema se queda sin
al sistema de forma dinámica mediante el uso del memoria los objetos de esta pila son eliminados sin que
servidor de sockets. Cada nuevo protocolo ofrece una produzcan huecos de memoria sin usar y sin que se
interfaz socket lo mas estándar posible, lo que limita la produzcan en principio perdidas de datos en el proceso.
cantidad de código dependiente del protocolo que tiene Este esquema se usa en todo el sistema operativo, y esta
que ser escrita por el programador. Los módulos de claramente identificado en los entornos de desarrollo
protocolo son DLLs, y cada uno de ellos puede (Nebro, 2002).
implementar más de un protocolo (Nebro, 2002).
3.4 Las interfaces gráficas series 60 y UIQ
3.3 Gestión de memoria de symbian
Existen dos interfaces de usuario diferenciadas en el
Los teléfonos móviles tienen una cantidad limitada de consorcio Symbian: la plataforma Series 60 impulsada
memoria, lo que ha de ser tomado en cuenta por los por Nokia y la plataforma UIQ desarrollada por Sony
desarrolladores de aplicaciones. Esto significa que la pila Ericsson. Ambas están disponibles para que otros
de las aplicaciones no debe crecer mucho (las funciones fabricantes puedan obtener una licencia y basar en ellas el
no deben tener muchos parámetros) y hay que evitar diseño de sus propios terminales Symbian. La principal
solicitar mucha memoria del montículo (zona de memoria diferencia entre ambas es que la Series 60 está pensada
utilizada para datos dinámicos). No obstante, Symbian no para que el usuario interactúe con el teléfono mediante un
impone ningún lımite en el tamaño del montículo de una teclado, mientras que la UIQ está diseñada para ser
aplicación, sino que este impone la cantidad de memoria manejada mediante un lápiz y una pantalla táctil. Ambas
del teléfono (en realidad existe un lımite de 2GB), pero es plataformas incluyen, además de la especificación de los
poco probable que se alcance en un teléfono móvil en un elementos propios de la interfaz de usuario, un conjunto
futuro cercano. de aplicaciones estándar que realizan las tareas más
comunes en un teléfono móvil multimedia (Aguilera,
En los teléfonos en los que se ejecuta Symbian el 2007).
Reportes Técnicos en Ingeniería del Software. 9(2): 56-66 60
ISSN 1667-5002. © CAPIS-EPG-ITBA (http://www.itba.edu.ar/capis/rtis)
4. SISTEMA OPERATIVO WINDOWS MOBILE • Un puerto infrarrojo compatible con IrDA
(Infrared Data association) para intercambiar
Windows Mobile, llegó al mercado en 2003, la estrategia información.
de movilidad de Microsoft gira en torno a la plataforma
pensada para todo tipo de dispositivos móviles: Pocket Casi un año después de que comenzaron a vender las
PC, Pocket PC Phone Edition y Smartphone; y dirigida a primeras Handheld PC, Microsoft actualizo el Windows
empresas, operadores móviles, fabricantes de CE y el software de aplicaciones. La versión 2 de
dispositivos, desarrolladores y usuarios (Eroski, 2005). Windows CE añadió soporte para pantallas de color,
impresión directa, conexión con redes Ethernet, un
Windows CE es un sistema operativo de 32 bits en navegador Web mejorado y salida de video para
tiempo real, abierto y escalable, Windows Mobile está monitores externos. PowerPoint fue agregado al conjunto
basado en Windows CE. En realidad nadie sabe, ni de software. En el otoño de 1998, Microsoft anuncio la
siquiera en Microsoft, qué significa CE. Algunos opinan Handheld PC profesional llamada Handheld PC 2000
que se trata de Compact Embedded mientras que otros mide 10 por 8 pulgadas (Mc Pherson, 2005:9).
piensan que significa Compact Edition, mas no existe una
definición oficial. Lo cierto es que se trata de un sistema
operativo diseñado para dar vida a los sistemas 4.1.2 PC tamaño Palm
electrónicos dedicados en los cuales el sistema operativo En 1998, Microsoft introdujo las PC tamaño Palm son de
no es grabado en un disco duro, sino que es parte aproximadamente 3 por 5 pulgadas y pesan alrededor de
inherente del hardware mismo. 170 gramos. La pantalla emplea una distribución vertical
y el dispositivo no incluye un teclado. Así que en su
A diferencia del Windows para computadoras de lugar, para introducir datos, es necesario utilizar un lápiz
escritorio, Windows CE es un sistema operativo en para escribir en la pantalla utilizando el reconocimiento
tiempo real, lo cual quiere decir que se puede determinar de caracteres o tocando un teclado.
el tiempo de duración de la ejecución de cada proceso a
fin de controlar su duración exacta. Especificaciones típicas para PC tamaño Palm
• Una pantalla monocromática con una
La arquitectura de Windows CE es totalmente modular. resolución de 320 por 240 y un tamaño de
Los fabricantes de los sistemas dedicados seleccionan los aproximadamente 4 pulgadas en diagonal.
componentes que su aparato requiere, mediante la • Una LED que parpadea para notificar las
herramienta de desarrollo para Windows CE llamada alarmas.
Platform Builder. Windows CE puede correr en • Micrófonos para hacer grabaciones de voz y
diferentes procesadores (Pérez, 2004). A diferencia de audífonos para escuchar la reproducción de la
Symbian que se emplea preferentemente en teléfonos grabación.
celulares, Windows Mobile tiene antecedentes en • Puerto infrarrojo.
Sistemas operativos que se implementan en dispositivos • Una ranura CompactFlash para tarjetas de
portátiles de diversas magnitudes. almacenamiento y periféricos como módems y
tarjetas Ethernet.
4.1 Dispositivos con Windows Mobile
En febrero de 1999, Microsoft anuncio una versión a
4.1.1 Handheld PC color de la PC tamaño Palm. Además del soporte para las
pantallas a color, poco cambio en Windows CE. El
Las handheld PC son el resultado del proyecto Pegasus, hardware para estos dispositivos mantuvo básicamente el
el cual comenzó en 1994. El dispositivo incluyo las mismo tamaño físico, pero algunos incluyeron
primeras versiones del Sistema operativo Windows CE, procesadores maestros y más RAM. La tecnología
Pocket Outlook y Pocket Office. empleada en la pantalla fue de cristal líquido (LCD, por
las siglas Liquid Cristal Display) a color activa y pasiva.
Las pantallas activas, como las de transistor de película
Especificaciones típicas para handheld PC delgada, proporcionan una imagen más brillante y más
clara al refrescar la pantalla con más frecuencia que las
• Diseño clamshell (tipo concha), pantallas pasivas (idem: 10).
aproximadamente de 3.5 por 7 pulgadas y un
peso aproximado de 380 gramos. 4.1.3 Auto PC
• Funciona con baterías alcalinas.
• Pantalla monocromática con una resolución de En 1998, Microsoft introdujo Auto PC remplaza al radio
480 por 240. de su automóvil con un dispositivo de información
• Teclado para introducir datos y un lápiz en Windows Mobile. El dispositivo se activa mediante la
lugar de un Mouse voz, permitiéndole recuperar información, como
• Un puerto serial y cable para conectar la instrucciones para llegar a una dirección y lo hace
Handheld PC a las computadoras de escritorio. mediante comandos de voz, tiene un receptor inalámbrico
con el cual puede recibir información sobre tráfico, el
Características de hardware comunes para todos los El software Windows Mobile para Pocket PC incluye el
dispositivos Windows mobile Sistema operativo CE .NET y el software de aplicaciones
(como Pocket Outlook o Pocket Office). Todos los
• Procesador Intel Strong ARM o X-Scale. dispositivos Windows Mobile 2003 incluyen el Sistema
• Un chip flashROm para almacenar el software operativo Windows CE.NET. Es un Sistema operativo a
Windows mobile 2003. 32 bits (idem: 15).
• Un mínimo de 32 MB de RAM.
• Una pantalla TFT transflectiva a color. Características
• Por lo menos una ranura para tarjetas de • Implementa un subconjunto de la API Win32.
almacenamiento (aunque en muchos casos varia) la cual fue completamente rescrita para los
(idem: 12). dispositivos integrados. Esto hace que sea
mucho más fácil que los desarrolladores de
4.1.5 Pocket PC Phone Edition software escriban programas utilizando
herramientas que les sean familiares.
Durante el verano de 2002. Microsoft lanzo la Pocket PC • Es portátil y se puede ejecutar en diferentes
Phone Edition, que es el software Windows Mobile para tipos de procesadores.
Smartphones además lanzo software adicional para • Es un Sistema operativo en tiempo real.
soportar comunicaciones inalámbricas de voz y de datos. • Es modular, por lo que un sistema puede ser
El primer lanzamiento de la Pocket PC Phone Edition construido utilizando solamente los
solo soporta los estándares de telecomunicaciones GSM componentes necesarios para una plataforma
para comunicación de voz y GPRS para la comunicación en particular
de datos (idem: 14). • La interfaz de usuario de Windows CE .NET,
llamada shell, es un componente por separado.
Los Smartphones y las Tablet PC son dos plataformas de Como tal, Microsoft puede crear un shell por
computación móvil adicionales que Microsoft lanzo al separado para cada plataforma de hardware
mercado en el 2002. Las metas de Smartphones son que ejecute el Sistema operativo (idem: 15)
combinar a las Pocket PC con los teléfonos móviles y .
crear un dispositivo que sea atractivo para las personas 4.3 Arquitectura de Windows CE
que prefieren utilizar aparatos pequeños en la forma de
un teléfono móvil, los Smartphones contienen parte de la Los modulos internos de Windows CE y su relacion
funcionalidad de una Pocket PC. Por ejemplo, contienen puede observarse en la figura 2 en la cual se especifican
una bandeja de entrada y una versión de Internet Explorer todas ellos.
junto con Pocket Outlook, pero no soportan información
mediante un lápiz (idem: 14).
4.3.4 Núcleo
Ofrece un entorno protegido, donde los fallos potenciales Día a día el uso de dispositivos móviles es cada vez mas
no afectan al Sistema operativo, se ejecutan las frecuente para cualquier entorno social así la demanda de
aplicaciones y los controladores de dispositivos. La aplicaciones obliga a los desarrolladores de software a
planificación de threads se realiza mediante un esquema crear productos novedosos y sobre todo útiles para cada
round-robin sobre las distintas prioridades. Cuando no usuario, en el mercado están surgiendo nuevos productos
hay un thread preparado para ejecutarse en un nivel se va de consumo relacionados con los dispositivos móviles, la
al siguiente menos prioritario, los threads de prioridad generación de software especifico para estos requiere el
crítica se ejecutan completamente, sin ser interrumpidos conocimiento de las funciones y arquitecturas de los
por el planificador. Se planifican threads y no procesos sistemas operativos para dispositivos móviles, este
(Cantera, 2006) conocimiento facilita la interacción de las aplicaciones
con el sistema operativo.
4.6 Gestión de memoria
Los framework para desarrollo, las maquinas virtuales y
Windows CE soporta un espacio de direcciones de los threads son los elementos básicos que permiten la
memoria virtual plano y compartido por todos los ejecución de aplicaciones diversas en los dispositivos
procesos. Existe un sistema de paginación que móviles.
implementa la gestión de memoria virtual Mapea
memoria páginas de memoria lógica a memoria física, sin La evolución de los sistemas operativos modulares
embargo no hay lugar para las páginas desalojadas permite que sean posibles Sistemas operativos
(swapped), cuando la RAM está llena, las aplicaciones funcionales en entornos extremadamente limitados,
fallan. Cada proceso está restringido a su propio espacio ejemplo de esto son Symbian y Windows Mobile quienes
de direcciones de 32Mb. El kernel protege cada proceso tienen un buen desempeño en condiciones limitadas de
porque le asigna un slot único (Cantera, 2006).