Está en la página 1de 9

INVESTIGACIN SYMBIAN OS

PRESENTADO POR
DAVID ANDRS BAUTISTA SANTA HECTOR FABIN CASTRO LIZARAZO 20011020034 20012020029

PRESENTADO A
ALEXANDER PAREJA GIRALDO

ASIGNATURA
SISTEMAS OPERACIONALES

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS 2011

SYMBIAN OS
Symbian es un sistema operativo de cdigo abierto actualmente (2011) usado en dispositivos mviles Nokia. El sistema operativo base histricamente fue creado por Symbian Ltd. y licenciado por Nokia y otros fabricantes de mviles quienes unieron distintas capas de interfaz de usuario (Nokia S60, NTT DoCoMo's MOAP y UIQ Technology). A finales de 2008 Nokia compr Symbian Ltd. y cre (independientemente) la fundacin Symbian para compartir el cdigo fuente y manejar el desarrollo del software.

HISTORIA
Symbian tiene una historia relativamente corta. Sus races estn en los sistemas que se desarrollaron en la dcada de 1990, y su debut fue en el 2001. Esto no debera de sorprender, ya que la plataforma de los telfonos inteligentes en la que se ejecuta Symbian OS tambin evoluciono desde hace poco. En la dcada de 1990, Psion Computers, una compaa que fabricaba dispositivos inteligentes mviles produjo la Serie 3: una pequea computadora con una pantalla monocromtica que tena una resolucin equivalente a la mitad de VGA y caba en un bolsillo. Despus sali la Serie 3c en 1996, con capacidad infrarroja adicional, y la Serie 3mx en 1998, con un procesador ms veloz y ms memoria. La programacin se basaba en C, tena un diseo orientado a objetos y empleaba motores de aplicaciones, una parte distintiva del desarrollo de Symbian OS. Se basaba en el diseo del microkernel para enfocar la funcionalidad en los motores (funcionaban como servidores) que administraban las funciones en respuesta a las peticiones de las aplicaciones. En 1996, Psion empez a disear un nuevo sistema operativo de 32 bits que aceptaba dispositivos sealadores en una pantalla tctil, utilizaba multimedia y tena capacidades ms completas de comunicacin. Tambin estaba ms orientado a objetos y poda portarse a distintas arquitecturas y diseos de dispositivos. El resultado de Psion fue la introduccin del sistema como EPOC Release 1. Este sistema fue programado en C++ y estaba diseado para ser orientado a objetos desde sus cimientos. EPOC expandi las posibilidades de comunicacin, abri el sistema operativo a la tecnologa multimedia, introdujo nuevas plataformas para interconectar elementos como las pantallas tctiles y generalizo la interfaz de hardware. EPOC se desarroll an ms en dos versiones posteriores: EPOC Release 3 (ER3) y EPOC Release 5 (ER5). Se ejecutaban en nuevas plataformas como las computadoras Psion Serie 5 y Serie 7. Cerca del 2000, la mayora de las oportunidades para el desarrollo de nuevos equipos de bolsillo estaban en el negocio de los telfonos mviles, donde los fabricantes ya estaban buscando un sistema operativo nuevo y avanzado. Para aprovechar estas oportunidades, Psion y los lderes en la industria de los telfonos mviles, formaron una empresa conjunta llamada Symbian para que asumiera la propiedad del sistema operativo EPOC y se encargara del futuro desarrollo de su ncleo. Este nuevo diseo del ncleo se conoce ahora como Symbian OS. Symbian OS hizo su debut con la versin 6 en el 2001. Este sistema operativo aprovechaba las propiedades flexibles de EPOC y estaba orientado a varias plataformas distintas generalizadas. Se dise con la suficiente flexibilidad para desarrollar una amplia variedad de dispositivos mviles y telfonos avanzados.

Tambin se decidi que Symbian OS adoptara en forma activa las tecnologas actuales de punta, a medida que se hicieran disponibles. Esta decisin reforzaba las opciones de diseo de orientacin a objetos y arquitectura de cliente-servidor. Los diseadores de Symbian OS versin 6 lo consideraban un sistema abierto. Con el trmino abierto, los diseadores de Symbian OS queran decir que la estructura del sistema operativo se publicaba y estaba disponible para todos. La versin 7 de Symbian OS mantuvo la funcionalidad de escritorio de EPOC, pero la mayora de los aspectos internos del sistema se redisearon para abarcar muchos tipos de funcionalidad de usuario. En la nueva versin se poda ejecutar el mismo sistema operativo en muchas plataformas distintas de telfonos inteligentes, cada una de las cuales utilizaba un sistema distinto de interfaz de usuario. Ahora Symbian OS se poda extender para lidiar o se poda utilizar en distintos telfonos inteligentes que utilizaran distintas tecnologas telefnicas. La versin 7 de Symbian OS se liber en el 2003. La versin 7 fue muy importante, debido a que en ella se incorporaron la abstraccin y la flexibilidad al sistema operativo. Sin embargo, esta abstraccin tuvo sus desventajas. En poco tiempo, el rendimiento del sistema operativo se volvi un problema que haba que resolver. Ms tarde se desprendi un proyecto para reescribir por completo el sistema operativo, esta vez con nfasis en el rendimiento. El nuevo diseo deba retener la flexibilidad de la versin 7, y al mismo tiempo, mejorar el rendimiento y aumentar la seguridad del sistema. La versin 8 de Symbian OS, que se liber en 2004, mejor el rendimiento, en especial para sus funciones en tiempo real. La versin 9 de Symbian OS llegara en 2005; agregando conceptos de seguridad basada en la capacidad y la instalacin de un guardin. Para esta versin tambin se desarroll un nuevo modelo binario que permita a los desarrolladores de hardware utilizar Symbian OS sin tener que redisear el hardware para adaptarlo a un modelo de arquitectura especfico.

CARACTERSTICAS
Est diseado para hacer mnimo uso de la batera y de la memoria del dispositivo que lo use. Est pensado en la multitarea con la telefona y la mensajera universal como componentes fundamentales, todas las aplicaciones estn diseadas para trabajar en paralelo sin problemas. El uso de tecnologas basadas en estndares es un principio bsico en Symbian OS, esto permite que sus aplicaciones sean robustas, portables e interoperables. Posee una arquitectura de software orientada a objetos. La administracin de memoria est optimizada para entornos de software integrados. Los requerimientos en memoria en tiempo de ejecucin estn optimizados, los ejecutables son de tamao muy pequeo y poseen cdigo basado en ROM que se ejecuta en sitio. Posee mecanismos de seguridad para habilitar comunicaciones seguras y almacenamiento de datos seguro. Tiene soporte de aplicaciones para entornos internacionales con soporte incluido del set de caracteres Unicode. Atesora una rica y variada librera de APIs que proporciona componentes reusables a las aplicaciones del desarrollador.

MICROKERNEL Y NANOKERNEL
Symbian OS basa su funcionamiento en el concepto de microkernel, sin embargo, ste presenta algunos inconvenientes que fueron resueltos mediante una estructura de nanokernel en el ncleo del diseo del sistema operativo. As como ciertas funciones del sistema son enviadas a servidores del espacio de usuario en el caso de un microkernel, el diseo de Symbian OS separa las funciones que requieren implementacin compleja en el kernel y deja solamente las funciones ms bsicas en el nanokernel, el ncleo del sistema operativo. En el nanokernel, los hilos simples operando en modo privilegiado implementan servicios que son bastante primitivos. Entre las implementaciones de este nivel se encuentran el agendamiento y sincronizacin de operaciones, el manejo de interrupciones y la sincronizacin de objetos como semforos. Muchas de las funciones de este nivel son de manejo preferente y muy primitivo (lo que permite que sean muy rpidas), por ejemplo, la asignacin dinmica de memoria es una funcin muy complicada para ser manejada en el nanokernel. Este nanokernel requiere un segundo nivel para poder implementar funciones de kernel ms complicadas. La capa de kernel de Symbian OS provee las funciones ms complicadas que el resto del sistema operativo necesita. Cada operacin en esta capa es privilegiada y se combina con las operaciones primitivas del nanokernel para implementar tareas complejas del kernel. Servicios con objetos complejos, hilos en modo usuario, agendamiento de procesos y cambio de contexto, memoria dinmica, libreras cargadas dinmicamente, sincronizacin compleja de objetos y comunicacin entre procesos son algunas de las operaciones implementadas en esta capa.

HILOS Y PROCESOS EN SYMBIAN OS


Symbian OS es un sistema operativo multitarea que usa los conceptos de procesos e hilos de forma muy similar a como lo hacen el resto de sistemas operativos. Sin embargo, la estructura del kernel de Symbian OS y su aproximacin a la posible carencia de recursos influencia la forma de ver estos objetos multitarea. En vez de procesos como la base de la multitarea, Symbian OS se decanta por los hilos y est construido alrededor del concepto de hilos. Los hilos forman la unidad central de las operaciones multitarea. Un proceso es visto por el sistema operativo simplemente como una coleccin de hilos con un bloque de control de proceso y algo de espacio en memoria. El soporte para hilos en Symbian OS est basado en el nanokernel con nanohilos. El nanokernel provee soporte para un solo hilo; cada hilo se soporta en un nanohilo basado en un nanokernel. Los nanohilos corren en un modo privilegiado y necesitan una pila para almacenar los datos del entorno en tiempo de ejecucin. Los nanohilos no pueden corren en el modo usuario. Este hecho significa que el sistema operativo puede mantener cerca y controlado cada uno. Cada nanohilo necesita una cantidad muy pequea de datos para ejecutarse; bsicamente la localizacin y el tamao de la pila. El sistema operativo mantiene el control de todo lo dems por ejemplo el cdigo que usa cada hilo, y almacena el contexto del hilo en una pila en tiempo de ejecucin. Un nanohilo es en esencia un proceso ultra ligero. Posee un mini contexto que cambia de acuerdo a como los nanohilos se mueven dentro y fuera del procesador. Cada nanohilo tiene un estado al igual que los

procesos. La clave de los nanohilos son el control preciso que tiene el nanokernel sobre ellos y la cantidad mnima de datos que hacen el contexto de cada uno. Los nanohilos tienen estados de hilo igual que los procesos tienen estados. Este modelo usado por el nanokernel de Symbian OS aade algunos estados al modelo bsico. Los procesos en Symbian OS, entonces, son hilos Symbian OS agrupados bajo una estructura de bloque de control de proceso sencillo con un nico espacio en memoria. Puede haber uno o muchos hilos de ejecucin bajo un bloque de control de proceso. El socket es el modelo de comunicacin bsico usado en Symbian OS. Es una lnea abstracta de comunicacin entre 2 puntos finales. La abstraccin es usada para esconder tanto el mtodo de transporte como la administracin de los datos entre los 2 puntos finales. El concepto de socket es usado en Symbian OS para la comunicacin entre clientes y servidores, desde los hilos a los dispositivos y entre los mismos hilos.

ADMINISTRACIN DE MEMORIA
Symbian OS utiliza un modelo sin memoria virtual, aunque la ausencia de esta no implica la ausencia de la administracin de memoria. Opciones como la paginacin, la traslacin de direccin y la abstraccin de direccin virtual/fsica estn presentes y lo nico que realmente significa la carencia de memoria virtual es que las pginas no se pueden intercambiar desde la memoria y ser almacenadas en un medio de almacenamiento externo, pero la abstraccin de las pginas de memoria de todas formas se usa. Las pginas se reemplazan, pero la pgina reemplazada es simplemente descartada. Esto significa que nicamente las pginas con cdigo pueden ser reemplazadas ya que son las nicas que tienen respaldo en la memoria flash. El manejo de la memoria en Symbian OS consta de las siguientes tareas: administracin del tamao de una aplicacin, administracin del espacio para la asignacin de memoria dinmica (administracin del 'heap'), ejecucin 'al instante' (ejecucin de aplicaciones directamente desde la memoria flash), la carga de libreras DLL y la descarga de la administracin de la memoria al hardware. En Symbian OS la memoria es seccionada en pginas, estas pginas se mantienen en una lista administrada por el sistema operativo y son asignadas de acuerdo a como las van necesitando tanto el sistema operativo como los procesos del usuario. Al no existir memoria virtual, cuando se acaba la lista de pginas libres, el sistema se queda sin memoria y no hay lugar a ms asignacin. Symbian OS adopta una estrategia de tabla de pginas de dos niveles. El primer nivel conocido como directorio de pginas, proporciona un vnculo al segundo nivel y se indexa mediante una proporcin de la direccin virtual (los 8 bits de en medio). Este directorio se mantiene en la memoria y el TTBR (translation table base register, registro base de tabla de traduccin) apunta a l. Una entrada en el directorio de pginas apunta al segundo nivel, que es una coleccin de tablas de pginas. Estas tablas proporcionan un vnculo a una pgina especfica en memoria y se indexan mediante una porcin de la direccin virtual. Por ltimo, la palabra en la pgina referenciada se indexa mediante los 12 bits de menor orden de la direccin virtual.

El hardware ayuda en este clculo de asignacin de direccin virtual a fsica. Aunque Symbian OS no puede asumir la existencia de ningn tipo de asistencia de hardware, la mayor parte de las arquitecturas en la que se implementa tienen MMUs. Cuando una pgina no est en la memoria, se produce una condicin de error debido a que todas las pginas de memoria de una aplicacin se deben cargar al momento de iniciar esta aplicacin (no hay paginacin bajo demanda). A pesar de la falta de intercambio, la memoria es sorprendentemente dinmica en Symbian OS. El contexto de las aplicaciones se cambia a travs de la memoria, se cargan sus requerimientos en la memoria cuando empiezan su ejecucin. Las pginas de memoria que requiere cada aplicacin se pueden solicitar de manera esttica al sistema operativo, el momento de cargar la aplicacin en la memoria. El espacio dinmico ('heap') est limitado, por lo que tambin se pueden realizar peticiones estticas para el espacio dinmico. Los marcos de memoria se asignan a las pginas desde una lista de marcos libres, si no hay marcos libres disponibles, entonces se genera una condicin de error. Los marcos de memoria utilizados no se pueden reemplazar con pginas de una aplicacin entrante, incluso si los marcos son para una aplicacin que no se est ejecutando en ese momento. Hay cuatro versiones distintas del modelo implementacin de memoria que utiliza Symbian OS. Cada modelo se dise para ciertos tipos de configuracin de hardware. El modelo de movimiento. Se dise para las primeras arquitecturas del ARM. El directorio de pginas en el modelo de movimiento es de 4 KB de largo, y cada entrada contiene 4 bytes, para un tamao del directorio de 16 KB. Las pginas de memoria se protegen mediante bits de acceso asociados con los marcos de memoria y mediante el etiquetado del acceso a la memoria con un dominio. Los dominios se registran en el directorio de pginas y la MMU implementa los permisos de acceso para cada dominio. Aunque no se utiliza la segmentacin en forma explcita, hay una organizacin para la distribucin de la memoria: hay una seccin para los datos asignados por el usuario y una seccin de kernel para los datos asignados por el kernel. El modelo mltiple. Se desarroll para la versin 6 y posteriores de la arquitectura ARM. La MMU difiere de la utilizada en versiones anteriores. La nueva versin de la arquitectura ARM reviso y mejoro los bits de acceso en cada, marco de pgina, y abandono el concepto principal. El modelo directo. Modelo directo de memoria asume que no hay MMU. Este modelo no est permitido en los telfonos inteligentes. La falta de una MMU ocasionara severos problemas de rendimiento. Este modelo, es til para los entornos de desarrollo en lo que la MMU se debe deshabilitar por alguna razn. El modelo del emulador. Se desarroll para proveer un emulador de Symbian OS para Windows. Tiene unas cuantas restricciones en comparacin con una verdadera CPU de destino. El emulador se ejecuta como un solo proceso de Windows, por lo que el espacio de direcciones est restringido a 2GB y no a 4GB. Toda la memoria que se proporciona al emulador es accesible para cualquier proceso de Symbian OS, y por lo tanto no hay proteccin de memoria disponible.

ENTRADA Y SALIDA
Los driver de dispositivos se ejecutan como cdigo privilegiado del kernel para proporcionar acceso al cdigo de nivel de usuario a los recursos protegidos del sistema. Al igual que en los casos de Linux y Windows, los drivers de dispositivos representan el acceso al hardware mediante el software. En Symbian OS, un driver de dispositivos de divide en dos niveles: un driver de lgico (LDD) y un driver de dispositivos fsico (PDD). El LDD presenta una interfaz a los niveles superiores del software, mientras que el PDD interacta de manera directa con el hardware. En este modelo el LDD puede utilizar la misma implementacin para una clase especfica de dispositivos, mientras que el PDD cambia con cada dispositivo. Symbian OS suministra muchos LDDs estndar. Algunas veces, si el hardware es muy estndar o comn, Symbian OS tambin proporciona un PDD. Los LDDs y los PDDs se pueden cargar en forma dinmica mediante los programas de usuario, si no existen ya en la memoria. Se proporcionan herramientas de programacin si es necesario cargarlos. Las extensiones del kernel son drivers de dispositivos que Symbian OS carga en tiempo de inicio. Como se cargan en tiempo de inicio, son casos especiales que se necesitan tratar de manera distinta a los drivers de dispositivos normales. Son distintas de los drivers de dispositivos normales. La mayora de estos drivers de dispositivos se implementan como LDDs y forman parejas con los PDDs; adems se cargan cuando es necesario en tiempo de inicio y estn orientadas de manera especfica a ciertos dispositivos; por lo general no forman parte con PDDs. Estn integradas en el procedimiento de inicio. Estos driver de dispositivos especiales se cargan e inician justo despus de que inicia el programador. Implementan funciones cruciales para los sistemas operativos: servicios de DMA, administracin de la pantalla, control de buses para los dispositivos perifricos. Estos drivers se proporcionan por dos razones. En primer lugar, coinciden con las abstracciones de diseo orientado a objetos que hemos visto como caracterstica del diseo de microkernels. En segundo lugar, permite que las plataformas separadas en la que se ejecutan Symbian OS ejecuten drivers de dispositivo especializados, los cuales habilitan el hardware para cada plataforma sin tener que volver a compilar el kernel. Symbian OS acepta el uso de hardware de DMA. Consiste en un controlador de un conjunto de canales de DMA. Cada canal proporciona una sola direccin de comunicacin entre la memoria y un dispositivo; por lo tanto, la transmisin bidireccional de los datos requiere dos canales de DMA. Hay por lo menos un par de canales de DMA dedicados al controlador LCD de la pantalla. Adems, la mayora de las plataformas ofrecen cierto nmero de canales de DMA generales. Cuando un dispositivo transmite datos a la memoria, se activa una interrupcin del sistema. El PDD utiliza el servicio de DMA que proporciona el hardware de DMA para el dispositivo transmisor: la parte del dispositivo que se interconecta con el hardware. Symbian OS implementa dos niveles de software entre el PDD y el controlador de DMA: un nivel de DMA de software y una extensin del kernel que se interconecta con el hardware de DMA. El mismo nivel de DMA se divide en un nivel independiente de la plataforma y en un dependiente. Como extensin del kernel, el nivel

de DMA es uno de los primeros drivers de dispositivos que el kernel inicia durante el procedimiento de inicio. El soporte para el DMA es complicado. Symbian OS soporta muchas configuraciones de hardware distintas, por lo cual se puede suponer una sola configuracin de DMA. La interfaz de DMA se estandariza entre una plataforma y otra, y se suministra en el nivel independiente de la plataforma. Como el hardware de DMA se ve como un dispositivo en su propio derecho, esta forma de implementar el soporte tiene sentido, debido a que es paralela a la forma en que Symbian OS admite todos los dispositivos. Los drivers de los medios son una forma especial de PDD en Symbian OS, que el servidor de archivos utiliza de manera exclusiva para implementar el acceso a los dispositivos de los medios de almacenamiento. Como los telfonos inteligentes pueden contener medios fijos y removibles, los drivers de medios deben reconocer y soportar una variedad de formas de almacenamiento. El soporte de Symbian OS incluye para los medios un LDD estndar y una API de interfaz para los usuarios. El servidor de archivos en Symbian OS puede aceptar hasta 26 unidades distintas al mismo tiempo. Las unidades locales se distinguen mediante su letra de unidad, como en Windows. Symbian OS trata con el bloqueo de E/S por medio de objetos activos. Los diseadores se dieron cuenta que el peso de todos los hilos que esperan un evento de E/S afecta a los dems hilos en el sistema. Los objetos activos permiten que el sistema operativo maneje las llamadas del bloque de E/S, en vez de que lo haga el mismo proceso los objetos activos se coordinan mediante un solo planificador y se implementan en un solo hilo. Cuando el objeto activo utiliza una llamada de bloqueo de E/S, lo seala el sistema operativo y se suspende al proceso suspendido a s mismo. Cuando se completa la llamada de bloqueo, el sistema operativo despierta al proceso suspendido y esta continua su ejecucin como si una funcin hubiera regresado con datos. Para aceptar medios removibles, Symbian OS proporciona controladores de software que controlan cada tarjeta admitida. Los controladores funcionan con los drivers de dispositivos para cada tarjeta, tambin en software. Cuando se inserta una tarjeta se crea un objeto de socket.

SISTEMAS DE ALMACENAMIENTO
Los sistemas operativos de los telfonos mviles tienen muchos de los requerimientos de los sistemas operativos de los equipos de escritorio. La mayora se implementa en entornos de 32 bits; permite a los usuarios dar nombres arbitrarios a los archivos; almacena muchos archivos que requieren cierto tipo de estructura organizada. Significa que es conveniente un sistema de archivos basado en directorios. Y aunque los diseadores de los sistemas operativos mviles tienen muchas opciones para los sistemas de archivos, hay una caracterstica que influye en su seleccin: la mayora de los telfonos mviles tienen medios de almacenamiento que se pueden compartir con un entorno Windows. Si los sistemas de telfonos mviles no tuvieran medios removibles, entonces se podra utilizar cualquier sistema de archivos. Sin embargo, para los sistemas que utilizan memoria flash hay que tener en cuenta ciertas circunstancias. La memoria flash no puede sobrescribir la memoria: debe borrar primero y luego escribir. Adems, la unidad de eliminacin es bastante ordinaria: no es posible borrar bytes, sino bloques enteros a la vez. Los tiempos de borrado para la memoria flash son relativamente largos.

La memoria flash funciona mejor cuando hay sistemas de archivos diseados de manera especfica que esparcen las escrituras por los medios y lidian con los tiempos largos de borrado. El concepto bsico es cuando se va a actualizar el almacenamiento flash, el sistema de archivos escribe una nueva copia de los datos modificados en un bloque sin usar, reasigna a los apuntadores de archivos y borra el bloque anterior ms tarde, cuando tiene tiempo. Las plataformas mviles deben compartir sus medios con otras computadoras, para lo cual es necesario contar con cierta forma de compatibilidad. Los sistemas FAT se utilizan con ms frecuencia. En especial FAT16 por su tabla de asignacin ms corta (en vez de FAT-32) y por su uso reducido de archivos extensos. Debido a que Symbian OS es un sistema operativo para telfonos inteligentes mviles, necesita implementar por lo menos el sistema de archivos FAT-16. Provee el soporte FAT-16 y utiliza ese sistema operativo para la mayor parte de sus medios de almacenamiento. La implementacin del servidor de archivos de Symbian OS se basa en una abstraccin. La orientacin a objetos permite conectar objetos que implementan varios sistemas operativos al servidor de archivos de Symbian OS, con lo cual se pueden utilizar muchas implementaciones distintas de sistemas de archivos. Incluso, las distintas implementaciones pueden coexistir en el mismo servidor de archivos. Tambin se han creado implementaciones de los sistemas de archivos NFS y SMB para Symbian OS.

BIBLIOGRAFA
Modern Operating Systems - Third Edition Andrew S. Tenembaum Symbian OS - Nokia Developer Wiki http://www.developer.nokia.com/Community/Wiki/Symbian_OS The Symbian OS Architecture Sourcebook - Design and Evolution of a Mobile Phone OS Ben Morris

También podría gustarte