SISTEMAS OPERATIVOS PARA MÓVILES SYMBIAN

INTRODUCCIÓN Symbian es un Sistema Operativo para móviles que en los últimos años ha salido mucho a flote debido a la utilización de dicho SO en los equipos móviles esencialmente de la empresa Nokia, formado en 1998 por las empresas Nokia, Motorola y Ericsson. Descendiente de los sistemas PSION y EPOC para móviles, en Junio 2000, Nokia lanzo su primer equipo celular basado en este sistema. Symbian tiene características interesantes los cual facilita el desarrollo de aplicaciones para el mismo. Primeramente, es un sistema basado en ROM, lo cual es una característica que no se había podido en otros sistemas, aunque ya en estos últimos años existen las memorias flash la cuales permiten poder guardar en ellas aplicaciones del mismo SO. Este sistema tiene un eficiente manejo de energía lo cual disminuye considerablemente su uso. Los principios de diseño de este SO están basados en lo siguiente: Patrón de microkernel: Lo cuan reduce las responsabilidades del kernel a un nivel considerable. Las tareas principales del kernel es el manejo de interrupciones y prioridades del sistema.Solo muy pocas partes del sistema tienen los privilegios de trabajar directamente con el kernel. Patrón de Cliente-Servidor: Donde los recursos son compartidos entre múltiples³usuarios´, incluyendo servicios de sistema o aplicaciones. La mayor parte de las aplicaciones en Symbian manejan este esquema, puesto que no tienen los privilegios requeridos para manejar directamente el kernel. Frameworks: Son patrones de diseño que son usados en todos los niveles del sistema operativo, desde las aplicaciones hasta los controladores de los dispositivos. Esencialmente en este SO se utiliza para el nivel de adaptación entre Hardware y aplicaciones. Modelo de Aplicaciones Graficas: Todas las aplicaciones son GUI (Interfaz Gráfica de Usuario), mientras que los servidores no utilizan Interfaces de Usuario. Modelo de Aplicaciones Basadas en Eventos.

-

-

-

PROCESOS Para la gestión de procesos, Symbian utiliza un modelo Cliente-Servidor donde las aplicaciones solicitan servicios del servidor. En la siguiente figura se muestra un esquema del flujo de peticiones al servidor(Kernel).

Existen 64 niveles de prioridad en Symbian. Esta estrategia organiza los procesos SDF (ShortestDeadlineFirst) algo similar a SJF. pero el programador puede definir más hilos para la ejecución de este proceso. la combinación de ambas características significa que la mejor opción de planificación es un sistema que use una estrategia estática monotónica. Los procesos son colecciones de al menos uno pero posiblemente múltiples hilos que comparten la misma dirección de espacio en memoria. ya que puede tener valores mayores a 1. Por default este contiene un hilo. Terminado. En otras palabras son unidades de protección de memoria. CONCURRENCIA El soporte de Symbian (ArquitecturaMicroKernel) para sincronización toma la forma de 2 tipos de objetos: Mutexes: Es un semáforo binario que solo tiene 2 estados. Listo. Ejecución. Semáforos: Es una forma más general de los Mutexes. Nuevo. Un proceso es creado como una instanciación de un archivo imagen ejecutable (como un tipo exe en Symbian). El proceso de más corto plazo es ejecutado primero. 1 Esquema de Flujo de Peticiones entre Aplicaciones. 2 Estados de Procesos en Symbian. diseñado para implementar la exclusión mutua entre 2 procesos. La introducción de ciclos de tiempo significa que los procesos con el mismo plazo pueden ser asignados y planificados utilizando Planificación por Prioridades. permitiendo la exclusión mutua entre múltiples procesos. Espera.Fig. Servicios de Sistema y Kernel En Symbian los hilos y procesos son definidos de la siguiente manera: Los hilos son unidades de ejecución que el planificador del kernel planifica. Fig. controlada por ciclos de tiempo. Este Sistema Operativo tiene la característica de funcionar en tiempo real además de ser un sistema de propósito general. .

Con espacios limitados de memoria. el proceso con la prioridad más alta debería ser el siguiente en adquirir el control el mutex es modificado. pero puede ser variable. si se cuenta con 4 gb de memoria y se tiene un marco de 4kb. Symbian no puede dedicar 1Mb para la tabla de páginas. Para solucionar esto. significa que se tiene una tabla de páginas de arriba de un millón de entradas. 3 Paginación y Direcciones Virtuales en Symbian E/S . El primer nivel es un directorio de páginas que proporcionan una liga al segundo nivel que es indexado por una dirección lógica en los primeros 12 bits. Symbian divide la memoria en páginas lógicas y marcos físicos. Symbian adopta una estrategia de tabla de páginas de 2 niveles. Symbian tiene la propiedad de que si los procesos con diferentes prioridades están esperando a un mutex.Algo interesante que Symbian aplica para la sincronización de proceso es la de prioridad de proceso. Un directorio de páginas apunta al segundo nivel que es una colección de tablas de páginas. Por ejemplo. El tamaño de marco es usualmente de 4 kb. Fig. MEMORIA Symbian ofrece un buen ejemplo de sistema que no utiliza el modelo de memoria virtual con espacio de intercambio (virtual-memory-swap-spacemodel) para el manejo de memoria.

SEGURIDAD La plataforma de seguridad fue introducida en la versión V9 de Symbian en el 2005. que convierte esa confianza en otro recurso de sistema de proceso granular. ARCHIVOS Los sistemas operativos para móviles al igual que un sistema operativo para equipos de escritorio requieren se ciertos requerimientos para la gestión de archivos. por lo cual son requeridas estructuras de organización de archivos. Extensiones del Kernel: Las extensiones del kernel son controladores de dispositivo que son cargados por Symbian en el arranque. que protege la información de miradas discretas (mediante políticas de acceso de lectura) o interfaces (mediante políticas de acceso de escritura) o ambas. Esto significa que es necesario un sistema de archivos basado en herencia de directorios. capacidades a medida que las señales de confianza. ANDROID INTRODUCCIÓN . Existen 3 principios fundamentales en esta plataforma: Los proceso como una unidad de confianza. Normalmente se manejan entornos de 32 bits. Encapsulado de información. que están obligados a realizar Acciones. Lo que los hace ser tratados de distintas maneta que los que controladores de dispositivo normales. donde permiten al usuario dar nombre a sus archivos.- - Controladores de Dispositivos: Se ejecutan como código privilegiado y proporcionan al usuario código de acceso a los recursos protegidos por el sistema. Capa de Abstracción de Hardware Acceso Directo a Memoria: Symbian soporta el uso del hardware DMA Almacenamiento: Te servidor de almacenamiento de Symbian soporta hasta 26 diferentes controladores al mismo tiempo.

Además de que ofrece una enorme compatibilidad con varios lenguajes de programación muy usados en la actualidad como son C. Entre los mecanismos de concurrencia que utiliza se encuentran los siguientes: Pilas Paso de Mensajes Memoria Compartida . CONCURRENCIA Este sistema basado en el kernel de Linux.Android es un Sistema Operativo basado en el kernel de Linux para dispositivos móviles. Donde almacena la información sobre un proceso. Android es una plataforma de código abierto. En realidad. etc. El algoritmo de planificación es muy parecido a Round Robin con prioridades. C++. SCHED_FIFO: Sistema FIFO o FCFS (First Come isFirstServed) SCHED_RR: RoudRobin o Turno Rotario SCHED_YIELD: No es una política de planificación sino que es un modificador para loas demás anteriores. compilando sus programas en código nativo de ARM (API de Android). es posible desarrollar aplicaciones propias para este sistema. Android permite controlar dispositivos por medio de una SDK desarrollada en el lenguaje de Programación JAVA. No aplicable en tiempo real. Este sistema Operativo es un boom para los desarrolladores de esta década ya que por lo mismo que es de código abierto. y son los siguientes: SCHED_OTHER: Planificacion Clásica de UNIX. maneja las mismas estrategias para la concurrencia entre procesos que en Linux. y puede cambiar en tiempo de ejecución. cada proceso puede ser planificado según sea el proceso de planificación que se emplee. Java. PROCESOS Como en todo SO un proceso está representado por una estructura de datos donde se guarda toda su información (PCB) Bloque de control de proceso. Para la planificación de procesos los tipos de algoritmos usados en el kernel están definidos por el estándar de POSIX. Python. poco después se unieron más empresas con el fin de fortalecer el desarrollo de código abierto de este sistema y que hoy en día está teniendo mucho éxito en el mercado. esto significa que cualquier desarrollador que tenga nociones de algún lenguaje de programación como C o Java sea capaz de desarrollar aplicaciones para este sistema. El SO Android basado en Linux utiliza una estructura llamada structtask_struct para el PCB. Donde puede haber procesos a la vez con distinta política de planificación. Inicialmente Android fue lanzado por Google Inc.

E/S. Tiene una estructura tipo micro kernel donde el kernel se encuentra en la capa inferior y las aplicaciones y servicios del sistema operativo se encuentran distribuidos en la parte superior. Este sistema operativo fue diseñado de manera que sea más atractivo para los desarrolladores de aplicaciones para móviles. Fig. ARCHIVOS Para la gestión de memoria. Sin preocuparte por cuestiones de procesamiento. utiliza un esquema de gestión prácticamente similar al del kernel de Linux. igualmente como está basado en Linux.- Semáforos Señales MEMORIA. entradas y salidas y Archivos. ya que el kernel de Linux es el que se encarga de todo eso. 4 Arquitectura de Android Basada en el Kernel de Linux SEGURIDAD En cuanto a seguridad maneja el esquema que maneja Linux. Algunos de los mecanismos de seguridad en el sistema son los siguientes: . y listo. ya que para poder desarrollar una aplicación para un sistema operativo Android. basta con tener conocimientos de cierto de leguaje de programación y saber cómo compilarlos en el lenguaje nativo de Android. gestión de memoria o concurrencia. ya se tiene una aplicación para esta SO.

Un nuevo concepto está comenzando a utilizarse y es el de Cloud Computing que traducido es Cómputo en la Nube.- Sistemas de permisos (ficheros. Consiste en tener tanto aplicaciones como información en la Web (Internet) lo cual podría ser una ventaja para muchos de los usuarios que no cuentan con gran capacidad de procesamiento en sus equipos. Chromium OS está basado en el kernel de Linux lo cual le da una ventaja con respecto a otros sistemas de la nube. Parece ser que algunas de esas vulnerabilidades se derivan del uso de librerías de procesamiento de imágenes anticuadas y otras se deben al código nativo del sistema. Firmware . gestor de conexión entre otros que se muestran en el diagrama siguiente. Hoy en día existen varias empresas que están poniendo gran parte de su atención en esta nueva tendencia. puesto que solo requieren contar con un navegador como de Chrome Browser. el kernel. controladores. tanto por su seguridad como eficiencia en el manejo de recursos. IPCs) Sistema de logs y accounting Mecanismos genéricos de autenticación: PAM Seguridad en el kernel: Parches GRSEC Sistemas de ficheros criptográficos A continuación una nota reciente de problema con seguridad en Android: Xataka Móvil demuestra que recientemente se han encontrado importantes problemas de seguridad y vulnerabilidades en Android. Estos agujeros de seguridad podrían permitir a alguien tomar el control del sistema operativo a través algunos formatos de imagen comunes. SISTEMAS OPERATIVOS BASADOS EN CLOUD COMPUTING CHROME OS INTRODUCCIÓN Chromium OS es un Sistema Operativo Moderno basado en la web. Consiste primordialmente en 3 componentes básicos: El Navegador y Gestor de Ventanas basado en Chromium Nivel de Sistema para Software y servicios de usuario.

Conociendo la trayectoria del navegador de Chrome y como maneja la seguridad. Desarrollo de defensas a conciencia: Se crean mecanismos para una serie de ataques conocidos y se desarrollan nuevos para los constantes ataques recientes. Creo que es una opción favorable el utilizarlo. No hacer de sus usuarios. es importante contar con mecanismos de seguridad lo más eficientes posibles. Chromium OS promete mucho y se cree que va lograr grandes resultados en la tendencia de Cloud Computing.Fig. Hacerlo seguro por default. la web está llena de peligros por lo cual es necesario contar con un sistema de seguridad robusto. un chivo expiatorio. SEGURIDAD Chromium OS fue diseñado pensando en la seguridad como algo primordial en su desarrollo. Esto significa que que no toda solución de seguridad es perfecta. en la realidad el usuario final es el que verdaderamente está confiando en un sistema y él es quien lleva las consecuencias a la hora de una amenaza al sistema operativo. además de la eficiencia en el manejo de procesos. No es una opción. ya que por lo mismo que se encuentra en la web. y sus aportaciones al mundo de la computación creo que es una buena opción para esta nueva tendencia. Conociendo el historial de Google Inc.Arquitectura de Chomium OS Este sistema tiene poco que se lanzó pero se ve muy prometedor ya que el nuevo concepto de Cloud Computing se está utilizando mucho en estos días. Los principios a seguir en este sistema operativo basado en Cloud Computing en materia de Seguridad son los siguientes: Lo perfecto es enemigo de lo bueno. .

10. hasta 16 terabytes de memoria. La tecnología de 64 bits en Snow Leopard permite gestionar una mayor cantidad de memoria RAM. Esta versión especial del Sistema Operativo Mac OS X que ha venido desarrollando la empresa Apple ya hace algunos años vino a ser la mejora a la versión anterior Mac OS X v. Esta arquitectura contiene un mecanismo de asignación de funciones más eficiente que la arquitectura de 64 bits.6 ³Snow Leopard´ es un sistema operativo recientemente lanzado por la empresa Apple en agosto del 2009.Sistemas Operativos Innovadores MAC OS X SNOW LEOPARD INTRODUCCIÓN Mac OS X v. y las firmas criptográficas se encargan de salvaguardar los ataques a la memoria. GRAND CENTRAL DISPATCH . Una ventaja más de una arquitectura de 64 bits es aquella que permite tener un entorno más seguro. Este sistema ha revolucionado tanto el mercado que es uno de los más utilizados en la actualidad por su atractiva interfaz gráfica. si es de 32 o 64 bits. no tiene caso contar con la arquitectura de 64 bits puesto que no se aprovecharía nada esta tecnología porque el software seguiría solo utilizando 32 bits. TECNOLOGIA 64 BITS Un concepto muy mencionado en estos últimos tiempos es el tipo de arquitectura de un sistema operativo. esto suena algo de ciencia ficción pero cierto y con resultados tremendamente impresionantes. Es importante conocer es que si el software que se utiliza está diseñado para una arquitectura de 32 bits. trayendo grandes cambios tanto en la apariencia como en el rendimiento del sistema operativo Mac. Tal parece que es una es la moda migrar de 32bits a 64 bits pero muchas veces sin saber el verdadero significado.10.5 ³Leopard´. Snow Leopard actualmente se ha dado a la tare de migrar sus aplicaciones a esta nueva arquitectura para poder brindar un más amplio rendimiento en su gestión de procesos y memoria. tiene un bit de desactivación basado en hardware en el área de memoria dinámica.

Aprovechando los múltiples núcleos que disponen las GPU´s actuales para procesamiento de aplicaciones que antes corrían solo en el CPU.Para la concurrencia entre procesos es altamente benéfico contar con 2 o más procesadores. CONCLUSIONES ¿QUÉ SISTEMAS ESTARIAMOS DISPUESTOS A UTLIZAR? SO´S PARA MOVILES Android. mayor rendimiento en el procesamiento de información. en vez de que cada aplicación las gestione por sí misma. De esta forma facilita el trabajo de los desarrolladores. Snow Leopard Incorpora la tecnología OpenCL con el fin de aprovechar la capacidad de procesamiento de las GPU para ponerlas a disposición de proceso no gráficos de la mayor parte de las aplicaciones. INCORPORACIÓN DE OPENCL OpenCL (Open Computing Language) es un estándar abierto para programación en paralelo sobre varias plataformas de desaarrollo. Esta aplicación se encarga de controlar y gestionar las operaciones multihilo. a pesar de algunos problemas que se han suscitado en lo correspondiente a seguridad creemos que cuenta con un enorme equipo de desarrolladores que trabajan en ello. Al contar con dos núcleos las tareas son asignadas por hilos. están comenzando a ofertar sus productos como una opción para el supercómputo mediante el uso de los núcleos de la GPU. para que cada núcleo ejecute parte del programa y así obtener un resultado más rápido y eficiente. . Esto proporciona otra ventaja para la programación concurrente y paralela que hoy en día es una aplicación que muchas empresas están poniendo en la mira. Muchas de las empresas que se dedican a distribuir GPU´s. lo cual permite el acceso de más desarrolladores el equipo de desarrolladores de Android. el GCD se encarga de ello. obteniendo así. Su principal característica es que emplea el uso de las GPU (GraphicsProcessorUnit) en coordinación con la CPU para obtener mayor capacidad de procesamiento. Snow Leopard implementa una tecnología para operaciones multihilo denominada Grand Central Dispatch o GCD. ya que permite realizar las tareas de manera paralela. puesto que no se deben preocupar por configuración de múltiples hilos. Por ser un Sistema Operativo moderno que promete mucho. Una ventaja de este sistema con respecto a los demás es que es de código abierto.

SO´S BASADOS EN CLOUND COMPUTING <Este te toca Adrián a ti te tocó más sobre esto> Yo Recomiendo Chrome OS por la trayectoria que tiene Google en cuestión a la seguridad. Como lo hemos mencionado repetidas veces. En cuanto a Snow Leopard es una opción atractiva para la línea de equipos MAC por ser el sistema que más se adapta a este tipo de equipos aunque últimamente ya es posible instalar un Windows 7 en una maquina MAC pero pues sabemos que la mejor manera de aprovechar la arquitectura de este tipo de equipos es utilizar el sistema operativo nativo de los equipos de MAC. SO´S INNOVADORES Esto depende del tipo de hardware con el que se disponga. En cuanto a la gestión de recursos parece ser estable y cuenta con nuevas incorporaciones para el manejo de multiprocesamiento.Actualmente existen muchas empresas de móviles que ya utilizan Android como sistema estándar para sus equipos. . HP hace poco en conferencia de prensa expresa que está pensando que en un futuro próximo algunos de sus productos como NetBooks estarán utilizando este sistema Operativo como nativo. normalmente en cuanto a PC ³Normales´ usaríamos Windows 7 por ser una opción muy moderna y atractiva que llego a ser la solución a la gestión de recursos de Windows Vista. aunque también esta Windows Azure que parece que tiene algo chido. conociendo la trayectoria de Google Inc. creemos que es una buena opción para un Sistema Operativo móvil. y ahora más con la incorporación de grandes corporaciones de desarrollo de sistemas para móviles. y algo muy interesante es que no solo se está utilizando para la industria telefónica si no que se ha extendido a otros dispositivos como NetBooks.

esto incluye todo lo referente a internet. .¿CUÁL SERIA LA MEJOR MANERA DE PROBAR SI UN SO ES BUENO LOS PARÁMETROS A TOMAR EN CUENTA PARA ELLO? Y CUALES SERIAN SO´S PARA MOVILES Para probar si un SO para móviles es bueno o no. bluetooth. etc. puesto que el usuario confía su información a un sistema que se encuentra hospedado en la web y que está expuesto a infinidad de ataques. telefonía. es importante tomar en cuenta los siguientes parámetros: Probar la compatibilidad con la mayoría de los equipos actuales Gestión de memoria Gestión de Procesador. Requerimientos recomendados de hardware para su correcto funcionamiento SO´S BASADOS EN CLOUD COMPUTING Para probar la eficiencia de un SO basado en Cloud Computing los parámetros a seguir serían los siguientes: Primordialmente la seguridad ante todo. que tan eficiente es el manejo de recursos Gestión de Almacenamiento Gestión de red y conexiones.

Algo importante es el costo que conlleva tener almacenada gran volumen de información en la nube. esto es. conocer los mecanismos de seguridad con los que este cuenta. Software soportado por el sistema y que utilidad conviene utilizar según el giro de trabajo que tenga el usuario.- - Capacidad de escalabilidad del Sistema. de software o de hardware. Compatibilidad con el hardware que se cuente. Algo que debería también importar aunque pues la piratería está a flote. La existencia de Soporte Técnico para el Sistema en caso de anomalías. La gestión de memoria. . esto es. Si cuenta con un sistema de respaldo en caso de alguna anomalía eléctrica. es el costo. Compatibilidad con la mayor parte del software que se encuentra en el mercado. Soporte Técnico especializado en caso de alguna anomalía. Esto es si se adapta fácilmente a cualquier tipo de hardware. es decir que soporte máximo de aplicaciones tiene o que capacidad de gestión tiene para altos volúmenes de información. si realmente vale la pena el adquirirlo y si el costo corresponde a su efectividad. Por eso es importante tomar en cuenta los siguientes parámetros para determinar si reamente un Sistema Operativo es bueno o no. procesador y de archivos. La seguridad es un factor importante en la elección de un Sistema Operativo. Esto significa que tanto puedo cargar este sistema. Requisitos recomendados de hardware para su correcto funcionamiento. SO´S INNOVADORES Hoy en día existen en el mercado varios sistemas operativos que ofrecen infinidad de utilidades que muchas veces tratan de emocionar al cliente y tratan de venderle la interfaz y no el funcionamiento real del sistema.

10.org/chromium-os/chromiumos-design-docs/software-architecture MAC OS X V.REFERENCIAS SYMBIAN Symbian OS Architecture Lance Li. ThecnicalConsultant SmarthPhonesOperativeSystemConceptswith Symbian OS.org/chromium-os Software Architecture http://www. BeyondThe Manual Scott Meyers and Mike Lee APRESS Foundations of Mac OS X Leopard Security Charles S. Edge. Jr. William Barkerand Zack Smith APRESS - . A Tutorial Guide Michael J.chromium..chromium. Jipping WILEY The Symbian OS ArchitectureSourceBookDesign and Evolution of a Mobile OS Ben Morris WILEY ANDROID Android Pro Sayed Y.6 SNOW LEOPARD Mac OS X Leopard. Hashimi and SatyaKomatineni APRESS CHROME OS http://www.

Sign up to vote on this title
UsefulNot useful